diff --git a/source/java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java b/source/java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java
index 4860b114b6..8741409edd 100644
--- a/source/java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java
+++ b/source/java/org/alfresco/repo/node/archive/ArchiveAndRestoreTest.java
@@ -761,7 +761,7 @@ public class ArchiveAndRestoreTest extends TestCase
/**
* ALF-7889
*/
- public synchronized void DISABLED_testAR7889ArchiveAndRestoreMustNotModifyAuditable() throws Exception
+ public synchronized void testAR7889ArchiveAndRestoreMustNotModifyAuditable() throws Exception
{
AuthenticationUtil.setFullyAuthenticatedUser(USER_A);
nodeService.addAspect(b, ContentModel.ASPECT_AUDITABLE, null);
diff --git a/source/java/org/alfresco/repo/node/db/DbNodeServiceImpl.java b/source/java/org/alfresco/repo/node/db/DbNodeServiceImpl.java
index d553f0c2de..27f130a545 100644
--- a/source/java/org/alfresco/repo/node/db/DbNodeServiceImpl.java
+++ b/source/java/org/alfresco/repo/node/db/DbNodeServiceImpl.java
@@ -2543,6 +2543,13 @@ public class DbNodeServiceImpl extends AbstractNodeServiceImpl
}
// The dictionary says propagate. Now get the parent node and prompt the touch.
NodeRef parentNodeRef = assocRef.getParentRef();
+
+ // Do not propagate if the cm:auditable behaviour is off
+ if (!policyBehaviourFilter.isEnabled(parentNodeRef, ContentModel.ASPECT_AUDITABLE))
+ {
+ return;
+ }
+
Pair parentNodePair = getNodePairNotNull(parentNodeRef);
Long parentNodeId = parentNodePair.getFirst();
// If we have already modified a particular parent node in the current txn,