diff -urp eyeD3-0.6.18.OLD/src/eyeD3/frames.py eyeD3-0.6.18/src/eyeD3/frames.py
--- eyeD3-0.6.18.OLD/src/eyeD3/frames.py 2011-11-24 23:37:44.000000000 -0500
+++ eyeD3-0.6.18/src/eyeD3/frames.py 2012-01-27 13:03:37.914347510 -0500
@@ -2163,7 +2163,10 @@ class FrameSet(list):
# description and its text.
def splitUnicode(data, encoding):
if encoding == LATIN1_ENCODING or encoding == UTF_8_ENCODING:
- retval = data.split("\x00", 1)
+ ret = data.split("\x00", 1);
+ if len(ret) != 2:
+ ret.append("")
+ return ret
elif encoding == UTF_16_ENCODING or encoding == UTF_16BE_ENCODING:
# Two null bytes split, but since each utf16 char is also two
# bytes we need to ensure we found a proper boundary.