diff --git a/PIL/IcoImagePlugin.py b/PIL/IcoImagePlugin.py
--- a/PIL/IcoImagePlugin.py
+++ b/PIL/IcoImagePlugin.py
@@ -222,6 +222,10 @@ def load(self):
         self.mode = im.mode
         self.size = im.size
 
+
+    def load_seek(self):
+        # Flage the ImageFile.Parser so that it just does all the decode at the end.
+        pass
 #
 # --------------------------------------------------------------------
 

diff --git a/Tests/images/python.ico b/Tests/images/python.ico
new file mode 100644
Binary files /dev/null and b/Tests/images/python.ico differ
diff --git a/Tests/test_imagefile.py b/Tests/test_imagefile.py
--- a/Tests/test_imagefile.py
+++ b/Tests/test_imagefile.py
@@ -57,6 +57,13 @@ def roundtrip(format):
     # https://github.com/python-imaging/Pillow/issues/78
     #assert_exception(IOError, lambda: roundtrip("PDF"))
 
+def test_ico():
+    with open('Tests/images/python.ico', 'rb') as f:
+        data = f.read()
+    p = ImageFile.Parser()
+    p.feed(data)
+    assert_equal((48,48), p.image.size)
+
 def test_safeblock():
 
     im1 = lena()

load ico file with ImageFile will raise an exception
> Traceback (most recent call last):
>   File "t.py", line 12, in <module>
>     p.feed(data)
>   File "/.../lib/python2.7/site-packages/PIL/ImageFile.py", line 383, in feed
>     if flag or len(im.tile) != 1:
> TypeError: object of type 'NoneType' has no len()

```
from PIL import ImageFile
data = open('favicon.ico', 'rb').read()
p = ImageFile.Parser()
p.feed(data)
```

I found when excute `im = im.convert('RGBA')` in function frame() of IcoImagePlugin.py file, im.tile will lose and turn to NoneType. 


Does it work if you just read the file directly?

```
from PIL import Image
im = Image.open('favicon.ico')
im = im.convert('RGBA')
```

The parser class isn't always quite as robust as just simply opening and reading the file. 

It works, but im.tile is still None. So in `feed` function when checking condition `len(im.tile) != 1`, the exception will also raise. I guess it is better to set im.tile's value an empty list instead of None.

Can you post the .ico file so I can take a look?

github editor can't support ico file, so i give a link the ico file i use.
http://www.python.org/favicon.ico

Works for me:

```
(vpy27)erics:~/Pillow/Images$ python
Python 2.7.5+ (default, Sep 19 2013, 13:49:51) 
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from PIL import Image
>>> im = Image.open('python.ico')
>>> im.load()
>>> im.size
(48, 48)
>>> im.convert('RGBA')
<PIL.Image.Image image mode=RGBA size=48x48 at 0x955550C>
>>> 
```

What Pillow are you running? 

[[edit]]  I see, you're still running the ImageFile.Parser class. Is there a reason that you're doing that instead of just opening directly?
