diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0a3103c18054f844b2d4640365ed1757bc2c7971..91337acb5fdf9e155692c7b4a749d40700bf3ad0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,7 +17,7 @@ before_script:
 test:
     stage: test
     script:
-        - git diff-tree --no-commit-id --name-only -r HEAD
+        - git --no-pager diff --name-only origin/master
         - python publish_images.py -q
     tags:
         - docker
diff --git a/publish_images.py b/publish_images.py
index bf8d27c35c7d7f4223935eb0059d0dc4b3444be5..95e93b29eabfc1d3c801f88d891f843cf6c76b26 100755
--- a/publish_images.py
+++ b/publish_images.py
@@ -5,12 +5,15 @@ import sys
 import time
 
 REGISTRY_URL = 'docker.km3net.de'
-SKIP_PUSH = '-q' in sys.argv
+IS_TEST_BRANCH = '-t' in sys.argv
 
 
-def get_changed_dockerfiles():
+def get_changed_dockerfiles(vs_master=False):
     """Checks the last Git commit and returns a list of changed Dockefiles"""
-    diff_cmd = "git diff-tree --no-commit-id --name-only -r HEAD"
+    if vs_master:
+        diff_cmd = "git --no-pager diff --name-only master"
+    else:
+        diff_cmd = "git diff-tree --no-commit-id --name-only -r HEAD"
     child = sp.Popen(diff_cmd, shell=True, stdout=sp.PIPE, stderr=sp.PIPE)
     out, _ = child.communicate()
 
@@ -20,7 +23,7 @@ def get_changed_dockerfiles():
 
 
 def main():
-    changed_dockerfiles = get_changed_dockerfiles()
+    changed_dockerfiles = get_changed_dockerfiles(vs_master=IS_TEST_BRANCH)
     n_files = len(changed_dockerfiles)
 
     if n_files == 0:
@@ -35,9 +38,9 @@ def main():
         steps = [("Building",
                   "docker build --pull -t {0}/{1} -f {1} . ".format(
                       REGISTRY_URL, fname))]
-        if not SKIP_PUSH:
-            steps.append(("Pushing", "docker push {0}/{1}".format(REGISTRY_URL,
-                                                                  fname)))
+        if not IS_TEST_BRANCH:
+            steps.append(
+                ("Pushing", "docker push {0}/{1}".format(REGISTRY_URL, fname)))
         else:
             print("Skiping push...")
 
@@ -45,8 +48,10 @@ def main():
 
         for step, cmd in steps:
             print("{} {} '{}'".format(progress, step, fname))
-            child = sp.Popen(
-                cmd, shell=True, stdout=sys.stdout, stderr=sys.stderr)
+            child = sp.Popen(cmd,
+                             shell=True,
+                             stdout=sys.stdout,
+                             stderr=sys.stderr)
             child.communicate()