diff --git a/rhodecode/apps/repository/views/repo_pull_requests.py b/rhodecode/apps/repository/views/repo_pull_requests.py
--- a/rhodecode/apps/repository/views/repo_pull_requests.py
+++ b/rhodecode/apps/repository/views/repo_pull_requests.py
@@ -201,29 +201,6 @@ class RepoPullRequestsView(RepoAppView, 
 
         return data
 
-    def _get_pr_version(self, pull_request_id, version=None):
-        at_version = None
-
-        if version and version == 'latest':
-            pull_request_ver = PullRequest.get(pull_request_id)
-            pull_request_obj = pull_request_ver
-            _org_pull_request_obj = pull_request_obj
-            at_version = 'latest'
-        elif version:
-            pull_request_ver = PullRequestVersion.get_or_404(version)
-            pull_request_obj = pull_request_ver
-            _org_pull_request_obj = pull_request_ver.pull_request
-            at_version = pull_request_ver.pull_request_version_id
-        else:
-            _org_pull_request_obj = pull_request_obj = PullRequest.get_or_404(
-                pull_request_id)
-
-        pull_request_display_obj = PullRequest.get_pr_display_object(
-            pull_request_obj, _org_pull_request_obj)
-
-        return _org_pull_request_obj, pull_request_obj, \
-               pull_request_display_obj, at_version
-
     def _get_diffset(self, source_repo_name, source_repo,
                      source_ref_id, target_ref_id,
                      target_commit, source_commit, diff_limit, fulldiff,
@@ -278,7 +255,7 @@ class RepoPullRequestsView(RepoAppView, 
         (pull_request_latest,
          pull_request_at_ver,
          pull_request_display_obj,
-         at_version) = self._get_pr_version(
+         at_version) = PullRequestModel().get_pr_version(
             pull_request_id, version=version)
         pr_closed = pull_request_latest.is_closed()
 
@@ -300,7 +277,7 @@ class RepoPullRequestsView(RepoAppView, 
         (prev_pull_request_latest,
          prev_pull_request_at_ver,
          prev_pull_request_display_obj,
-         prev_at_version) = self._get_pr_version(
+         prev_at_version) = PullRequestModel().get_pr_version(
             pull_request_id, version=from_version)
 
         c.from_version = prev_at_version
diff --git a/rhodecode/model/pull_request.py b/rhodecode/model/pull_request.py
--- a/rhodecode/model/pull_request.py
+++ b/rhodecode/model/pull_request.py
@@ -419,6 +419,29 @@ class PullRequestModel(BaseModel):
             .order_by(PullRequestVersion.pull_request_version_id.asc())\
             .all()
 
+    def get_pr_version(self, pull_request_id, version=None):
+        at_version = None
+
+        if version and version == 'latest':
+            pull_request_ver = PullRequest.get(pull_request_id)
+            pull_request_obj = pull_request_ver
+            _org_pull_request_obj = pull_request_obj
+            at_version = 'latest'
+        elif version:
+            pull_request_ver = PullRequestVersion.get_or_404(version)
+            pull_request_obj = pull_request_ver
+            _org_pull_request_obj = pull_request_ver.pull_request
+            at_version = pull_request_ver.pull_request_version_id
+        else:
+            _org_pull_request_obj = pull_request_obj = PullRequest.get_or_404(
+                pull_request_id)
+
+        pull_request_display_obj = PullRequest.get_pr_display_object(
+            pull_request_obj, _org_pull_request_obj)
+
+        return _org_pull_request_obj, pull_request_obj, \
+               pull_request_display_obj, at_version
+
     def create(self, created_by, source_repo, source_ref, target_repo,
                target_ref, revisions, reviewers, title, description=None,
                reviewer_data=None, translator=None):