diff --git a/deploy_gitlab_ci.py b/deploy_gitlab_ci.py
index ec5bb6778e4e6ee9b0df3403bbf537ee4cdea150..dd3de862d18f2a506d5c663abeee8d233e24eaf3 100755
--- a/deploy_gitlab_ci.py
+++ b/deploy_gitlab_ci.py
@@ -67,6 +67,9 @@ def main():
     integration_branch, _, submodule_project = update_submodule(
         project, args.submodule, args.revision, args.branch
     )
+    # If submodule is already at specified revision, exit successfully
+    if not integration_branch:
+        sys.exit(0)
 
     # Get source merge request
     mrs = get_merge_requests(
diff --git a/update_submodule.py b/update_submodule.py
index e0462e2d430ca086b9d8763b1dc98e790c7b5a0b..12929e20c828b90b4c1d367f26493726ffda2cee 100755
--- a/update_submodule.py
+++ b/update_submodule.py
@@ -40,7 +40,7 @@ def update_submodule(project, submodule_name, submodule_revision, branch=None):
         # Check if revisions are different
         if submodule.hexsha == submodule_revision:
             print("Submodule is already at %s" % submodule_revision)
-            return 0
+            return (None, None, None)
 
         # Check for relative path
         if not submodule.url.startswith(".."):