diff --git a/rwm.py b/rwm.py
index c09d42dedbfcf68baa64aeb0b5841c75db11e672..5d67d652343238cb7196bdec9ec850c685095e93 100755
--- a/rwm.py
+++ b/rwm.py
@@ -342,7 +342,7 @@ class RWM:
 
         return self.restic_cmd(cmd_args)
 
-    def backup(self, name) -> subprocess.CompletedProcess:
+    def backup(self, name) -> int:
         """backup command"""
 
         if not self.storage_manager.storage_check_policy(self.config["rwm_restic_bucket"]):
@@ -351,14 +351,14 @@ class RWM:
         wrap_output(backup_proc := self._restic_backup(name))
         if backup_proc.returncode != 0:
             logger.error("rwm _restic_backup failed")
-            return backup_proc
+            return 1
 
         wrap_output(forget_proc := self._restic_forget_prune())
         if forget_proc.returncode != 0:
             logger.error("rwm _restic_forget_prune failed")
-            return forget_proc
+            return 1
 
-        return backup_proc
+        return 0
 
     def backup_all(self) -> int:
         """backup all command"""
@@ -514,7 +514,7 @@ def main(argv=None):  # pylint: disable=too-many-branches
         ret = wrap_output(rwmi.restic_cmd(args.cmd_args))
 
     if args.command == "backup":
-        ret = rwmi.backup(args.name).returncode
+        ret = rwmi.backup(args.name)
         logger.info("rwm backup finished with %s (ret %d)", "success" if ret == 0 else "errors", ret)
     if args.command == "backup_all":
         ret = rwmi.backup_all()
diff --git a/tests/test_default.py b/tests/test_default.py
index 3917374bec28eef9b465727d57d9d9977ce2be36..2386f8ded3788e1bff852e45b16ea8514f1ec07c 100644
--- a/tests/test_default.py
+++ b/tests/test_default.py
@@ -39,7 +39,7 @@ def test_main(tmpworkdir: str):  # pylint: disable=unused-argument
     with patch.object(rwm.RWM, "restic_cmd", mock_proc):
         assert rwm_main(["restic", "dummy"]) == 0
 
-    with patch.object(rwm.RWM, "backup", mock_proc):
+    with patch.object(rwm.RWM, "backup", mock_ok):
         assert rwm_main(["backup", "dummy"]) == 0
     with patch.object(rwm.RWM, "backup_all", mock_ok):
         assert rwm_main(["backup_all"]) == 0
diff --git a/tests/test_rwm.py b/tests/test_rwm.py
index 7af5d0804d37d2a3e03c29ae03043e62121bd7bf..2fe9e53e599f645210ffd21f202888bd5269d70a 100644
--- a/tests/test_rwm.py
+++ b/tests/test_rwm.py
@@ -80,7 +80,7 @@ def test_backup(tmpworkdir: str, motoserver: str):  # pylint: disable=unused-arg
     Path("testdatadir/testfile_to_be_ignored").write_text("dummydata", encoding="utf-8")
 
     assert trwm.restic_cmd(["init"]).returncode == 0
-    assert trwm.backup("testcfg").returncode == 0
+    assert trwm.backup("testcfg") == 0
 
     snapshots = _restic_list_snapshots(trwm)
     assert len(snapshots) == 1
@@ -118,7 +118,7 @@ def test_backup_excludes(tmpworkdir: str, motoserver: str):  # pylint: disable=u
     Path("testdatadir/var/proc/data").write_text("dummydata", encoding="utf-8")
 
     assert trwm.restic_cmd(["init"]).returncode == 0
-    assert trwm.backup("testcfg").returncode == 0
+    assert trwm.backup("testcfg") == 0
 
     snapshots = _restic_list_snapshots(trwm)
     assert len(snapshots) == 1
@@ -140,19 +140,19 @@ def test_backup_error_handling(tmpworkdir: str, motoserver: str):  # pylint: dis
             "dummycfg": {"filesdirs": ["dummydir"]}
         }
     }
-    mock_ok = Mock(return_value=CompletedProcess(args='dummy', returncode=0))
-    mock_fail = Mock(return_value=CompletedProcess(args='dummy', returncode=11))
+    mock_proc_ok = Mock(return_value=CompletedProcess(args='dummy', returncode=0))
+    mock_proc_fail = Mock(return_value=CompletedProcess(args='dummy', returncode=2))
 
     with (
-        patch.object(rwm.RWM, "_restic_backup", mock_fail)
+        patch.object(rwm.RWM, "_restic_backup", mock_proc_fail)
     ):
-        assert rwm.RWM(rwm_conf).backup("dummycfg").returncode == 11
+        assert rwm.RWM(rwm_conf).backup("dummycfg") == 1
 
     with (
-        patch.object(rwm.RWM, "_restic_backup", mock_ok),
-        patch.object(rwm.RWM, "_restic_forget_prune", mock_fail)
+        patch.object(rwm.RWM, "_restic_backup", mock_proc_ok),
+        patch.object(rwm.RWM, "_restic_forget_prune", mock_proc_fail)
     ):
-        assert rwm.RWM(rwm_conf).backup("dummycfg").returncode == 11
+        assert rwm.RWM(rwm_conf).backup("dummycfg") == 1
 
 
 def test_backup_all(tmpworkdir: str):  # pylint: disable=unused-argument
@@ -163,11 +163,11 @@ def test_backup_all(tmpworkdir: str):  # pylint: disable=unused-argument
             "dummycfg": {"filesdirs": ["dummydir"]}
         }
     }
-    mock = Mock(return_value=CompletedProcess(args='dummy', returncode=0))
+    mock_proc_ok = Mock(return_value=CompletedProcess(args='dummy', returncode=0))
 
     with (
-        patch.object(rwm.RWM, "_restic_backup", mock),
-        patch.object(rwm.RWM, "_restic_forget_prune", mock)
+        patch.object(rwm.RWM, "_restic_backup", mock_proc_ok),
+        patch.object(rwm.RWM, "_restic_forget_prune", mock_proc_ok),
     ):
         assert rwm.RWM(rwm_conf).backup_all() == 0
 
@@ -209,7 +209,7 @@ def test_storage_delete(tmpworkdir: str, microceph: str, radosuser_admin: rwm.St
     bucket = trwm.storage_manager.storage_create(bucket_name, "admin")
     assert len(trwm.storage_manager.list_objects(bucket_name)) == 0
     assert trwm.restic_cmd(["init"]).returncode == 0
-    assert trwm.backup("testcfg").returncode == 0
+    assert trwm.backup("testcfg") == 0
     assert len(trwm.storage_manager.list_objects(bucket_name)) != 0
 
     object_versions = radosuser_admin.s3.meta.client.list_object_versions(Bucket=bucket.name)
diff --git a/tests/test_storage.py b/tests/test_storage.py
index d70caa92dfd53eae4b92153f4982af431507dea2..cdc4f009c5ebbbd4072e97d61f38a6bc72985ec9 100644
--- a/tests/test_storage.py
+++ b/tests/test_storage.py
@@ -138,7 +138,7 @@ def test_storage_backup_usage(
         }
     })
     assert trwm.restic_cmd(["init"]).returncode == 0
-    assert trwm.backup("dummy").returncode == 0
+    assert trwm.backup("dummy") == 0
 
     assert radosuser_test1.list_objects(bucket_name)
     assert len(json.loads(trwm.restic_cmd(["snapshots", "--json"]).stdout)) == 1