Index: apps/metadata.c
===================================================================
--- apps/metadata.c	(revision 12529)
+++ apps/metadata.c	(working copy)
@@ -218,13 +218,21 @@
     else if (((strcasecmp(name, "year") == 0) && (type == TAGTYPE_APE))
         || ((strcasecmp(name, "date") == 0) && (type == TAGTYPE_VORBIS)))
     {
-        /* Date can be in more any format in a Vorbis tag, so don't try to 
-         * parse it. 
-         */
         if (type != TAGTYPE_VORBIS)
         {
             id3->year = atoi(value);
         }
+        else
+        {
+            /* Date's can be in any format in Vorbis. However most of them 
+             * are in ISO8601 format so try and handle at least that. 
+             */
+            if (strlen(value) >= 4 && isdigit(value[0]) && isdigit(value[1])
+                && isdigit(value[2]) && isdigit(value[3]))
+            {
+                id3->year = atoi(value);
+            }
+        }
         
         p = &(id3->year_string);
     }
