diff --git a/src/main/java/org/olat/course/editor/PublishProcess.java b/src/main/java/org/olat/course/editor/PublishProcess.java
index d7b064c4b702a1a30cac843f60beeb7762b949d6..e12c171eac4d3b7720df67a676c0d478363c37d6 100644
--- a/src/main/java/org/olat/course/editor/PublishProcess.java
+++ b/src/main/java/org/olat/course/editor/PublishProcess.java
@@ -108,7 +108,7 @@ public class PublishProcess {
 	private ICourse course;
 	private RepositoryEntry repositoryEntry;
 	//to be replaced
-	private PublishTreeModel publishTreeModel;
+	private final PublishTreeModel publishTreeModel;
 	
 	/*
 	 * intermediate structures to calculate next course run
@@ -152,7 +152,9 @@ public class PublishProcess {
 			// avoid using iterator here so we can modify the Collection
 			String nodeId = nodeIdsToPublish.get(i);
 			CourseEditorTreeNode cetn = editorTreeModel.getCourseEditorNodeById(nodeId);
-			if (cetn.isNewnode() || cetn.isDeleted() || publishTreeModel.isMoved(cetn)) appendPublishableSubnodeIds(cetn, nodeIdsToPublish);
+			if (cetn != null && (cetn.isNewnode() || cetn.isDeleted() || publishTreeModel.isMoved(cetn))) {
+				appendPublishableSubnodeIds(cetn, nodeIdsToPublish);
+			}
 		}
 
 		/*