diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/.ratings b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/.ratings
index b8a101a5b4ac7e05798218d6e86a75bbce016d43..7e07b0c16d41a95f1137d0260602b9d7e3c3fc64 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/.ratings
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/.ratings
@@ -12,4 +12,4 @@ MigrationUtils.java e54370b19148ff656d7563e8188baccd947c24d5 GREEN
 PrototypesUtils.java 538b5edbab06e95bc32e81309482e36a4bc64d1e GREEN
 ResourceUtils.java 8ab06ad3b72fdb2b1925e2ccbedcfea35e36cf24 GREEN
 TransformationUtils.java f159b17ac1ce2ce0d94c1a873d74e052ac2dc74b GREEN
-UniqueIDUtils.java f8b053bf64835d8a441192f7681fda0655a98469 YELLOW
+UniqueIDUtils.java 758dd39d869297fa074926ca9298ac82c012872e YELLOW
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/UniqueIDUtils.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/UniqueIDUtils.java
index e96bd49aadcb11b92999d7ba053c1fb809d86581..99cf0934ee27a95f4b6edbc251e6ff24e5d1d7f7 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/UniqueIDUtils.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/UniqueIDUtils.java
@@ -34,6 +34,15 @@ import org.fortiss.tooling.kernel.service.IPersistencyService;
  * @author hoelzl
  */
 public class UniqueIDUtils {
+	/** Helper to implement {@link #generateMissingIDs(EObject, int)}. */
+	private static int setMissingId(EObject object, int currentMaxId) {
+		if(object instanceof IIdLabeled) {
+			if(((IIdLabeled)object).getId() <= 0) {
+				((IIdLabeled)object).setId((++currentMaxId));
+			}
+		}
+		return currentMaxId;
+	}
 
 	/**
 	 * Generates missing IDs of the given model starting from the given current
@@ -47,13 +56,11 @@ public class UniqueIDUtils {
 	 * @return The maximum ID after the generation of missing IDs.
 	 */
 	public static int generateMissingIDs(EObject existingModel, int currentMaxId) {
+		currentMaxId = setMissingId(existingModel, currentMaxId);
+
 		for(Iterator<EObject> i = existingModel.eAllContents(); i.hasNext();) {
 			EObject eo = i.next();
-			if(eo instanceof IIdLabeled) {
-				if(((IIdLabeled)eo).getId() <= 0) {
-					((IIdLabeled)eo).setId((++currentMaxId));
-				}
-			}
+			currentMaxId = setMissingId(eo, currentMaxId);
 		}
 		return currentMaxId;
 	}