diff --git a/test/runner/lib/changes.py b/test/runner/lib/changes.py
index 7a798f19457..e4e223b3e72 100644
--- a/test/runner/lib/changes.py
+++ b/test/runner/lib/changes.py
@@ -57,6 +57,7 @@ class ShippableChanges(object):
             self.is_tag = os.environ['IS_GIT_TAG'] == 'true'
             self.commit = os.environ['COMMIT']
             self.project_id = os.environ['PROJECT_ID']
+            self.commit_range = os.environ['SHIPPABLE_COMMIT_RANGE']
         except KeyError as ex:
             raise MissingEnvironmentVariable(name=ex.args[0])
 
@@ -64,8 +65,8 @@ class ShippableChanges(object):
             raise ChangeDetectionNotSupported('Change detection is not supported for tags.')
 
         if self.is_pr:
-            self.paths = sorted(git.get_diff_names(['origin/%s' % self.branch, '--']))
-            self.diff = git.get_diff(['origin/%s' % self.branch, '--'])
+            self.paths = sorted(git.get_diff_names([self.commit_range]))
+            self.diff = git.get_diff([self.commit_range])
         else:
             merge_runs = self.get_merge_runs(self.project_id, self.branch)
             last_successful_commit = self.get_last_successful_commit(git, merge_runs)
diff --git a/test/runner/lib/git.py b/test/runner/lib/git.py
index 9fbc91c0241..387a87f4d2d 100644
--- a/test/runner/lib/git.py
+++ b/test/runner/lib/git.py
@@ -21,7 +21,7 @@ class Git(object):
     def get_diff(self, args, git_options=None):
         """
         :type args: list[str]
-        :type options: list[str]
+        :type git_options: list[str] | None
         :rtype: list[str]
         """
         cmd = ['diff'] + args