diff --git a/rhodecode/controllers/files.py b/rhodecode/controllers/files.py
--- a/rhodecode/controllers/files.py
+++ b/rhodecode/controllers/files.py
@@ -46,7 +46,7 @@ from rhodecode.lib.vcs.conf import setti
 from rhodecode.lib.vcs.exceptions import RepositoryError, \
     ChangesetDoesNotExistError, EmptyRepositoryError, \
     ImproperArchiveTypeError, VCSError, NodeAlreadyExistsError,\
-    NodeDoesNotExistError
+    NodeDoesNotExistError, ChangesetError
 from rhodecode.lib.vcs.nodes import FileNode
 
 from rhodecode.model.repo import RepoModel
@@ -155,14 +155,12 @@ class FilesController(BaseRepoController
             c.file = c.changeset.get_node(f_path)
 
             if c.file.is_file():
-                _hist = c.rhodecode_repo.get_changeset().get_file_history(f_path)
+                c.file_history, _hist = self._get_node_history(c.changeset, f_path)
                 c.file_changeset = c.changeset
                 if _hist:
                     c.file_changeset = (c.changeset
                                         if c.changeset.revision < _hist[0].revision
                                         else _hist[0])
-                c.file_history = self._get_node_history(c.changeset, f_path,
-                                                        _hist)
                 c.authors = []
                 for a in set([x.author for x in _hist]):
                     c.authors.append((h.email(a), h.person(a)))
@@ -519,7 +517,7 @@ class FilesController(BaseRepoController
         if changesets is None:
             try:
                 changesets = tip_cs.get_file_history(f_path)
-            except NodeDoesNotExistError:
+            except (NodeDoesNotExistError, ChangesetError):
                 #this node is not present at tip !
                 changesets = cs.get_file_history(f_path)
 
@@ -544,7 +542,7 @@ class FilesController(BaseRepoController
             tags_group[0].append((chs, name),)
         hist_l.append(tags_group)
 
-        return hist_l
+        return hist_l, changesets
 
     @LoginRequired()
     @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',