diff --git a/reclass/datatypes/parameters.py b/reclass/datatypes/parameters.py
index cc0c74c..29ab5b6 100644
--- a/reclass/datatypes/parameters.py
+++ b/reclass/datatypes/parameters.py
@@ -308,4 +308,4 @@
                 old = len(value.get_references())
                 value.assembleRefs(self._base)
                 if old == len(value.get_references()):
-                    raise InterpolationError('Bad reference count, path:' + repr(path))
+                    raise InterpolationError('Missing references: {0}, for path: {1}'.format(value.get_references(), str(path)))
diff --git a/reclass/datatypes/tests/test_parameters.py b/reclass/datatypes/tests/test_parameters.py
index 376922e..8369ae5 100644
--- a/reclass/datatypes/tests/test_parameters.py
+++ b/reclass/datatypes/tests/test_parameters.py
@@ -8,7 +8,7 @@
 #
 from reclass.datatypes import Parameters
 from reclass.defaults import REFERENCE_SENTINELS, ESCAPE_CHARACTER
-from reclass.errors import InfiniteRecursionError
+from reclass.errors import InfiniteRecursionError, InterpolationError
 from reclass.values.mergeoptions import MergeOptions
 import unittest
 try:
@@ -496,5 +496,12 @@
         self.assertEqual(n1.as_dict(), r1)
         self.assertEqual(n2.as_dict(), r2)
 
+    def test_nested_refs_error_message(self):
+        # beta is missing, oops
+        p1 = Parameters({'alpha': {'one': 1, 'two': 2}, 'gamma': '${alpha:${beta}}'})
+        with self.assertRaises(InterpolationError) as error:
+            p1.interpolate()
+        self.assertEqual(error.exception.message, "Missing references: ['beta'], for path: gamma")
+
 if __name__ == '__main__':
     unittest.main()
