diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandRepository.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandRepository.java
index 926b21ab836836183430e563d9149c5dcf4880b5..ded88ec207ad812ab5ad43ad235a6208ee9331d5 100644
--- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandRepository.java
+++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandRepository.java
@@ -205,12 +205,9 @@ class CommandRepository {
 		mongoOperations.updateFirst(queryById(commandId), update, Command.class);
 	}
 
-	public Optional<String> getNotFailedParentId(String commandId) {
-		return getParentId(commandId)
-				.map(this::queryNotFailedCommandById)
-				.map(this::includeIdAndClass)
-				.flatMap(this::findOne)
-				.map(Command::getId);
+	public boolean isCommandFailed(String commandId) {
+		return mongoOperations.exists(query(new Criteria().andOperator(criteriaById(commandId), where(MONGODB_STATUS).is(CommandStatus.ERROR))),
+				Command.class);
 	}
 
 	public Optional<String> getParentId(String commandId) {
@@ -227,12 +224,6 @@ class CommandRepository {
 		return MapUtils.getString(body, PersistedCommand.PROPERTY_PARENT_ID);
 	}
 
-	Query queryNotFailedCommandById(String commandId) {
-		return query(new Criteria().andOperator(
-				where(MONGODB_ID).is(commandId),
-				where(MONGODB_STATUS).ne(CommandStatus.ERROR)));
-	}
-
 	Optional<Command> findOne(Query query) {
 		return Optional.ofNullable(mongoOperations.findOne(query, Command.class));
 	}
diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandService.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandService.java
index 9f0582495ee6494c9afff898e57792162eb0c8aa..d57cc5dbd90b796435c0609e2a6181962f033539 100644
--- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandService.java
+++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/command/CommandService.java
@@ -133,7 +133,7 @@ public class CommandService {
 	}
 
 	boolean isParentCommandFailed(Command command) {
-		return repository.getNotFailedParentId(command.getId()).isPresent();
+		return getParentId(command).filter(repository::isCommandFailed).isPresent();
 	}
 
 	Optional<String> getCompletableParentId(Command command) {
diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandRepositoryITCase.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandRepositoryITCase.java
index 56e70f88d24b5bfdc785b8d48ba36a86a37ffe84..1302487486ea0c97f9040c595819dda2f385ca37 100644
--- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandRepositoryITCase.java
+++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandRepositoryITCase.java
@@ -442,7 +442,7 @@ class CommandRepositoryITCase {
 	}
 
 	@Nested
-	class TestGetNotFailedParentId {
+	class TestIsCommandFailed {
 
 		@BeforeEach
 		void init() {
@@ -451,28 +451,22 @@ class CommandRepositoryITCase {
 
 		@Test
 		void shouldReturnParentId() {
-			var parentId = mongoOperations.save(CommandTestFactory.createBuilder().bodyObject(Map.of(
+			var commandId = mongoOperations.save(CommandTestFactory.createBuilder().bodyObject(Map.of(
 					PersistedCommand.PROPERTY_COMPLETE_IF_SUBS_COMPLETED, true)).build()).getId();
-			var commandId = mongoOperations.save(
-							CommandTestFactory.createBuilder().id(null).bodyObject(Map.of(PersistedCommand.PROPERTY_PARENT_ID, parentId)).build())
-					.getId();
 
-			var result = repository.getNotFailedParentId(commandId);
+			var result = repository.isCommandFailed(commandId);
 
-			assertThat(result).contains(parentId);
+			assertThat(result).isFalse();
 		}
 
 		@Test
 		void shouldReturnEmpty() {
-			var parentId = mongoOperations.save(CommandTestFactory.createBuilder().status(CommandStatus.ERROR).bodyObject(Map.of(
+			var commandId = mongoOperations.save(CommandTestFactory.createBuilder().status(CommandStatus.ERROR).bodyObject(Map.of(
 					PersistedCommand.PROPERTY_COMPLETE_IF_SUBS_COMPLETED, true)).build()).getId();
-			var commandId = mongoOperations.save(
-							CommandTestFactory.createBuilder().id(null).bodyObject(Map.of(PersistedCommand.PROPERTY_PARENT_ID, parentId)).build())
-					.getId();
 
-			var result = repository.getNotFailedParentId(commandId);
+			var result = repository.isCommandFailed(commandId);
 
-			assertThat(result).isEmpty();
+			assertThat(result).isTrue();
 		}
 	}
 
diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceTest.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceTest.java
index 0ad28f9b06d19e17b21bdd613e4e010cac0c32b1..b0b498207da99d1729551fec6cc270e6cab27a4b 100644
--- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceTest.java
+++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/command/CommandServiceTest.java
@@ -351,18 +351,31 @@ class CommandServiceTest {
 	}
 
 	@Nested
-	class TestIsParentFailed {
+	class TestIsParentCommandFailed {
+
+		@Test
+		void shouldCallGetParentId() {
+			var command = CommandTestFactory.create();
+
+			service.isParentCommandFailed(command);
+
+			verify(service).getParentId(command);
+		}
 
 		@Test
 		void shouldCallRepository() {
+			var parentId = "parent-id";
+			doReturn(Optional.of(parentId)).when(service).getParentId(any());
+
 			isParentCommandFailed();
 
-			verify(repository).getNotFailedParentId(CommandTestFactory.ID);
+			verify(repository).isCommandFailed(parentId);
 		}
 
 		@Test
 		void shouldReturnTrueWhenParentNotFailed() {
-			when(repository.getNotFailedParentId(anyString())).thenReturn(Optional.of("parent-id"));
+			doReturn(Optional.of("parent-id")).when(service).getParentId(any());
+			when(repository.isCommandFailed(any())).thenReturn(true);
 
 			var result = isParentCommandFailed();
 
@@ -371,7 +384,7 @@ class CommandServiceTest {
 
 		@Test
 		void shouldReturnFalseWhenParentFailed() {
-			when(repository.getNotFailedParentId(anyString())).thenReturn(Optional.empty());
+			doReturn(Optional.of("parent-id")).when(service).getParentId(any());
 
 			var result = isParentCommandFailed();