diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
index 1266042..c4be731
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Commit.java
@@ -477,12 +477,16 @@ public class Commit {
             }
             String conflictMessage = null;
             if (newestRev == null) {
-                if ((op.isDelete() || !op.isNew()) && isConflicting(before, op)) {
+                if ((op.isDelete() || !op.isNew()) &&
+                        (!nodeStore.getEnableConcurrentAddRemove() || isConflicting(before, op))
+                        ) {
                     conflictMessage = "The node " +
                             op.getId() + " does not exist or is already deleted";
                 }
             } else {
-                if (op.isNew() && isConflicting(before, op)) {
+                if (op.isNew() &&
+                        (!nodeStore.getEnableConcurrentAddRemove() || isConflicting(before, op))
+                        ) {
                     conflictMessage = "The node " +
                             op.getId() + " was already added in revision\n" +
                             newestRev;
