diff --git a/analytic_dimension.py b/analytic_dimension.py
index 2293351e1896bf9958008d5c6bacba1874fdfbbe_YW5hbHl0aWNfZGltZW5zaW9uLnB5..2d4963e493e95db374ef93a346fe858364fe3da5_YW5hbHl0aWNfZGltZW5zaW9uLnB5 100644
--- a/analytic_dimension.py
+++ b/analytic_dimension.py
@@ -25,6 +25,7 @@
 
 
 DIMENSION_DUPLICATE_ERROR = _("Both {model1} and {model2} reference {dim}")
+NO_MODEL_FOR_DIMENSION_ERROR = _("No model matches dimension {dim}")
 
 
 def check_dimension_duplicate(models_by_dimension, dim_name, model_name):
@@ -128,6 +129,11 @@
         for record in self:
             dimension_name = record.name
 
+            if dimension_name not in models_by_dimension:
+                raise ValidationError(
+                    _(NO_MODEL_FOR_DIMENSION_ERROR).format(dim=dimension_name)
+                )
+
             model_name = models_by_dimension[dimension_name]
             code_column = column_by_name[dimension_name]