--- apps/tree.c	2003-02-15 10:23:01.000000000 +0000
+++ ../cvs-delete/apps/tree.c	2003-02-17 23:03:46.000000000 +0000
@@ -1314,6 +1314,7 @@
                               tree_max_on_screen))
                 {
                     /* start scroll */
+                    reload_dir = true;
                     restore = true;
                 }
                 else
@@ -1364,7 +1365,7 @@
             ata_spin();
         
         /* do we need to rescan dir? */
-        if (reload_root ||
+        if (reload_dir || reload_root ||
             lastfilter != global_settings.dirfilter ||
             lastsortcase != global_settings.sort_case)
         {
@@ -1373,9 +1374,12 @@
                 dirlevel = 0;
                 reload_root = false;
             }
-            dircursor = 0;
-            dirstart = 0;
-            lastdir[0] = 0;
+            if (! reload_dir )
+            {
+                dircursor = 0;
+                dirstart = 0;
+                lastdir[0] = 0;
+            }
             lastfilter = global_settings.dirfilter;
             lastsortcase = global_settings.sort_case;
             restore = true;
