diff --git a/source/java/org/alfresco/repo/model/ml/MultilingualDocumentAspect.java b/source/java/org/alfresco/repo/model/ml/MultilingualDocumentAspect.java index 9e05a10b11..4d4b676334 100644 --- a/source/java/org/alfresco/repo/model/ml/MultilingualDocumentAspect.java +++ b/source/java/org/alfresco/repo/model/ml/MultilingualDocumentAspect.java @@ -128,8 +128,15 @@ public class MultilingualDocumentAspect implements */ public void beforeDeleteNode(NodeRef nodeRef) { - // First unhook it - multilingualContentService.unmakeTranslation(nodeRef); + if (nodeService.hasAspect(nodeRef, ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION)) + { + // We just let it get deleted + } + else + { + // First unhook it + multilingualContentService.unmakeTranslation(nodeRef); + } } /** diff --git a/source/java/org/alfresco/repo/model/ml/tools/EmptyTranslationAspectTest.java b/source/java/org/alfresco/repo/model/ml/tools/EmptyTranslationAspectTest.java index 03cde1fbfb..82d462ffb1 100644 --- a/source/java/org/alfresco/repo/model/ml/tools/EmptyTranslationAspectTest.java +++ b/source/java/org/alfresco/repo/model/ml/tools/EmptyTranslationAspectTest.java @@ -93,6 +93,7 @@ public class EmptyTranslationAspectTest extends AbstractMultilingualTestCases { empty = multilingualContentService.addEmptyTranslation(pivot, "empty_" + System.currentTimeMillis(), Locale.CHINESE); + nodeService.getParentAssocs(empty); nodeService.deleteNode(empty); // Ensure that the empty translation is removed from the workspace