diff --git a/src/python/OBis/obis/dm/data_mgmt_test.py b/src/python/OBis/obis/dm/data_mgmt_test.py
index 8940d8a1278e93bbb13fcd9b1b775e1df0393745..75283356737f60c1f23452a7f209dc7a3574780c 100644
--- a/src/python/OBis/obis/dm/data_mgmt_test.py
+++ b/src/python/OBis/obis/dm/data_mgmt_test.py
@@ -18,6 +18,7 @@ import hashlib
 from datetime import datetime
 
 from . import data_mgmt
+from . import CommandResult
 from unittest.mock import Mock, MagicMock, ANY
 from pybis.pybis import ExternalDMS, DataSet
 
@@ -191,15 +192,18 @@ def test_external_dms_code_and_address():
 
 
 def test_undo_commit_when_sync_fails(tmpdir):
+    # given
     dm = shared_dm()
-    tmp_dir_path = str(tmpdir)
-    result = dm.init_data(tmp_dir_path, "test")
-    assert result.returncode == 0
-    # prepare_registration_expectations(dm)
-    # set_registration_configuration(dm)
-    copy_test_data(tmpdir)
+    dm.git_wrapper = Mock()
+    dm.git_wrapper.git_top_level_path = MagicMock(return_value = CommandResult(returncode=0, output=None))
+    dm.git_wrapper.git_add = MagicMock(return_value = CommandResult(returncode=0, output=None))
+    dm.git_wrapper.git_commit = MagicMock(return_value = CommandResult(returncode=0, output=None))
+    dm.sync = lambda: CommandResult(returncode=-1, output="dummy error")
+    # when
     result = dm.commit("Added data.")
-    assert result.returncode == -1 # fails due to object_id which is not set
+    # then
+    assert result.returncode == -1
+    dm.git_wrapper.git_undo_commit.assert_called_once()
 
 
 # TODO Test that if the data set registration fails, the data_set_id is reverted