diff --git a/tools/build/cfgdef/src/main/java/org/onosproject/cfgdef/CfgDefGenerator.java b/tools/build/cfgdef/src/main/java/org/onosproject/cfgdef/CfgDefGenerator.java
index 89954f2..9488261 100644
--- a/tools/build/cfgdef/src/main/java/org/onosproject/cfgdef/CfgDefGenerator.java
+++ b/tools/build/cfgdef/src/main/java/org/onosproject/cfgdef/CfgDefGenerator.java
@@ -152,7 +152,7 @@
         if (value instanceof Add) {
             return elaborate(((Add) value).getLeft()) + elaborate(((Add) value).getRight());
         } else if (value instanceof FieldRef) {
-            return stripped(constants.get(((FieldRef) value).getName()));
+            return elaborate((FieldRef) value);
         } else if (value != null) {
             return stripped(value.toString());
         } else {
@@ -160,6 +160,16 @@
         }
     }
 
+    private String elaborate(FieldRef field) {
+        String name = field.getName();
+        String value = constants.get(name);
+        if (value != null) {
+            return stripped(value);
+        }
+        throw new IllegalStateException("Constant " + name + " cannot be elaborated;" +
+                                                " value not in the same compilation context");
+    }
+
     private String stripped(String s) {
         return s.trim().replaceFirst("^[^\"]*\"", "").replaceFirst("\"$", "");
     }
