Index: src/fileviews/ufileview.pas
===================================================================
--- src/fileviews/ufileview.pas	(revision 4956)
+++ src/fileviews/ufileview.pas	(working copy)
@@ -2565,33 +2565,33 @@
     begin
       NewFileSource := FHistory.FileSource[PrevIndex];
       NewPath := FHistory.Path[PrevIndex, FHistory.PathsCount[PrevIndex] - 1];
-    end;
-    IsNewFileSource := not NewFileSource.Equals(FileSource);
 
-    if BeforeChangePath(NewFileSource, NewPath) then
-    begin
-      if IsNewFileSource then
-        FileSource.RemoveReloadEventListener(@ReloadEvent);
+      if BeforeChangePath(NewFileSource, NewPath) then
+      begin
+        IsNewFileSource := not NewFileSource.Equals(FileSource);
+        if IsNewFileSource then
+          FileSource.RemoveReloadEventListener(@ReloadEvent);
 
-      EnableWatcher(False);
+        EnableWatcher(False);
 
-      FHistory.DeleteFromCurrentFileSource;
+        FHistory.DeleteFromCurrentFileSource;
 
-      AfterChangePath;
+        AfterChangePath;
 
-      if Assigned(FileSource) and IsNewFileSource then
-      begin
-        UpdatePath(True);
-        FileSource.AddReloadEventListener(@ReloadEvent);
-      end;
+        if Assigned(FileSource) and IsNewFileSource then
+        begin
+          UpdatePath(True);
+          FileSource.AddReloadEventListener(@ReloadEvent);
+        end;
 
-      EnableWatcher(True);
+        EnableWatcher(True);
 
-      SetActiveFile(FocusedFile);
+        SetActiveFile(FocusedFile);
 
-      {$IFDEF DEBUG_HISTORY}
-      FHistory.DebugShow;
-      {$ENDIF}
+        {$IFDEF DEBUG_HISTORY}
+        FHistory.DebugShow;
+        {$ENDIF}
+      end;
     end;
   end;
 end;
