diff -urN xine-lib-1.1.12.orig/misc/xine-list.c xine-lib-1.1.12/misc/xine-list.c
--- xine-lib-1.1.12.orig/misc/xine-list.c	2008-04-06 21:32:21 +0300
+++ xine-lib-1.1.12/misc/xine-list.c	2008-04-19 21:15:50 +0300
@@ -125,7 +125,11 @@
       sep = strchr (text, ';') ? : text + strlen (text);
       sep2 = which == 'a' ? sep : strchr (text, ':') ? : sep;
       if (!*sep)
-        break;
+      {
+        if (text[0])
+          printf ("%s;", text);
+          break;
+      }
       if (printf ("%.*s;", (int)(sep2 - text), text) < 0 || (lf && puts ("") < 0))
         goto write_fail;
     }
