diff --git a/de.prob.units/src/de/prob/units/sc/ContextAttributeProcessor.java b/de.prob.units/src/de/prob/units/sc/ContextAttributeProcessor.java
index 9ce02dab757cec25528e15c2d45671f46ee16f1d..9b04eb1234fde447d13805dc59557661b6414e1f 100644
--- a/de.prob.units/src/de/prob/units/sc/ContextAttributeProcessor.java
+++ b/de.prob.units/src/de/prob/units/sc/ContextAttributeProcessor.java
@@ -10,9 +10,11 @@ import org.eventb.core.sc.SCCore;
 import org.eventb.core.sc.SCProcessorModule;
 import org.eventb.core.sc.state.ISCStateRepository;
 import org.eventb.core.tool.IModuleType;
+import org.rodinp.core.IAttributeType;
 import org.rodinp.core.IInternalElement;
 import org.rodinp.core.IRodinElement;
 import org.rodinp.core.IRodinFile;
+import org.rodinp.core.RodinCore;
 
 import de.prob.units.Activator;
 import de.prob.units.pragmas.UnitPragmaAttribute;
@@ -37,11 +39,15 @@ public class ContextAttributeProcessor extends SCProcessorModule {
 		IConstant[] constants = contextRoot.getConstants();
 		ISCConstant[] scconstants = scContextRoot.getSCConstants();
 
-		if (constants.length == 0)
+		if (constants.length == 0 || scconstants.length == 0)
 			return;
 
 		for (IConstant constant : constants) {
-			String identifier = constant.getElementName();
+			final IAttributeType.String IDENTIFIER_ATTRIBUTE = RodinCore
+					.getStringAttrType("org.eventb.core.identifier");
+
+			String identifier = constant
+					.getAttributeValue(IDENTIFIER_ATTRIBUTE);
 			ISCConstant scConstant = scContextRoot.getSCConstant(identifier);
 
 			// might have been filtered out by previous modules