Index: mythvideo/mythvideo/videolist.h
===================================================================
--- mythvideo/mythvideo/videolist.h	(revision 9645)
+++ mythvideo/mythvideo/videolist.h	(working copy)
@@ -45,7 +45,7 @@
         GenericTree *addDirNode(GenericTree *where_to_add,
                                                         const QString& dname);
         GenericTree *addFileNode(GenericTree *where_to_add,
-                                                const QString& fname, int id);
+                                 const QString& fname, const QString& title, int id);
 
         bool m_ListUnknown;
         bool m_LoadMetaData;
Index: mythvideo/mythvideo/videolist.cpp
===================================================================
--- mythvideo/mythvideo/videolist.cpp	(revision 9645)
+++ mythvideo/mythvideo/videolist.cpp	(working copy)
@@ -221,12 +221,12 @@
         file_string.remove(0, prefix.length());
         if (flatlist) 
         {
-            video_tree_root->addNode(file_string, count, true);
+            video_tree_root->addNode(myData->Title(), count, true);
             nitems++;
         }
         else 
         {
-            where_to_add = addFileNode(where_to_add, file_string, count);
+            where_to_add = addFileNode(where_to_add, file_string, myData->Title(), count);
         }
         metas.append(*myData);
         delete myData;
@@ -336,20 +336,12 @@
         }
 
         Metadata *myData = new Metadata;
-        // See if we can find this filename in DB
+        // See if we can/should find this filename in DB
         myData->setFilename(file_string);
-        if (m_LoadMetaData) {
-            if(!myData->fillDataFromFilename()) {
-                // No, fake it.
-                QString base_name = file_string.section("/", -1);
-                myData->setTitle(base_name.section(".", 0, -2));
-            }
-        }
-        else
-        {
+        if (!m_LoadMetaData || !myData->fillDataFromFilename()) {
+            // No, fake it.
             QString base_name = file_string.section("/", -1);
             myData->setTitle(base_name.section(".", 0, -2));
-
         }
 
         metas.append(*myData); 
@@ -358,10 +350,10 @@
         {
             file_string.remove(0, prefix.length());
             if (!flatlist) {
-                where_to_add = addFileNode(where_to_add, file_string, i);
+                where_to_add = addFileNode(where_to_add, file_string, myData->Title(), i);
             }
             else {
-                video_tree_root->addNode(file_string, i, true);
+                video_tree_root->addNode(myData->Title(), i, true);
                 nitems++;
             }
         }
@@ -423,7 +415,7 @@
 }
 
 GenericTree *VideoList::addFileNode(GenericTree *where_to_add,
-                                                const QString& fname, int index)
+                                    const QString& fname, const QString& title, int index)
 {
     int a_counter = 0;
     GenericTree *sub_node;
@@ -434,8 +426,7 @@
     {
         if(a_counter + 1 >= (int) list.count()) // video
         {
-            QString title = (*an_it);
-            sub_node = where_to_add->addNode(title.section(".",0,-2),
+            sub_node = where_to_add->addNode(title,
                     index, true);
             sub_node->setAttribute(0, ORDER_ITEM);
             sub_node->setOrderingIndex(0);
