Index: globalsettings.cpp
===================================================================
--- globalsettings.cpp	(revision 12659)
+++ globalsettings.cpp	(working copy)
@@ -162,6 +162,16 @@
     return hsb;
 }
 
+HostCheckBox *VideoTreeRemeber()
+{
+    HostCheckBox *gc = new HostCheckBox("VideoTreeRemember");
+    gc->setLabel(QObject::tr("Video Tree remembers last selected position"));
+    gc->setValue(false);
+    gc->setHelpText(QObject::tr("If set then last position in the Video Tree"
+                 "is remembered and item is selected when entering MythVideo"));
+    return gc;
+}
+
 HostLineEdit *SearchListingsCommand()
 {
     HostLineEdit *gc = new HostLineEdit("MovieListCommandLine");
@@ -550,6 +560,7 @@
     general2->addChild(VideoNewBrowsable());
     general2->addChild(VideoSortIgnoresCase());
     general2->addChild(VideoDBFolderView());
+    general2->addChild(VideoTreeRemeber());
     general2->addChild(VideoImageCacheSize());
     addChild(general2);
 
Index: videotree.cpp
===================================================================
--- videotree.cpp	(revision 12659)
+++ videotree.cpp	(working copy)
@@ -233,10 +233,29 @@
     m_video_list->setCurrentVideoFilter(video_filter);
 
     buildVideoList();
+
+    bool remember = gContext->GetNumSetting("VideoTreeRemember", 0);
+
+    if (remember)
+    {
+        QString routePath = gContext->GetSetting("VideoTreeLastActive", "");
+        QStringList route = QStringList::split("\n", routePath);
+        m_imp->video_tree_list->tryToSetCurrent(route);
+        m_imp->video_tree_list->enter();
+    }
+
 }
 
 VideoTree::~VideoTree()
 {
+    bool remember = gContext->GetNumSetting("VideoTreeRemember", 0);
+
+    if (remember)
+    {
+        QStringList path = m_imp->video_tree_list->getRouteToCurrent();
+        QString routePath = path.join("\n");
+        gContext->SaveSetting("VideoTreeLastActive", routePath);
+    }
 }
 
 void VideoTree::keyPressEvent(QKeyEvent *e)
