diff --git a/reclass/utils/dictitem.py b/reclass/utils/dictitem.py
index 9492f49..d612480 100644
--- a/reclass/utils/dictitem.py
+++ b/reclass/utils/dictitem.py
@@ -18,11 +18,14 @@
         self._assembleRefs_recurse_dict(self._dict)
 
     def _assembleRefs_recurse_dict(self, items):
+        from reclass.utils.value import Value
+        from reclass.utils.valuelist import ValueList
+
         for key, item in items.iteritems():
             if isinstance(item, dict):
                 self._assembleRefs_recurse_dict(item)
                 continue
-            if item.has_references():
+            if isinstance(item, (Value, ValueList)) and item.has_references():
                 for ref in item.get_references():
                     self._refs.append(ref)
                 if not item.allRefs():
diff --git a/reclass/utils/listitem.py b/reclass/utils/listitem.py
index 4abf9a6..fa17491 100644
--- a/reclass/utils/listitem.py
+++ b/reclass/utils/listitem.py
@@ -13,10 +13,13 @@
         self.assembleRefs()
 
     def assembleRefs(self, context={}):
+        from reclass.utils.value import Value
+        from reclass.utils.valuelist import ValueList
+
         self._refs = []
         self._allRefs = True
         for item in self._list:
-            if item.has_references():
+            if isinstance(item, (Value, ValueList)) and item.has_references():
                 for ref in item.get_references():
                     self._refs.append(ref)
                 if not item.allRefs():
