diff --git a/src/main/webapp/scripts/xnat/spawner.js b/src/main/webapp/scripts/xnat/spawner.js
index f587a363189c30f14d96e4d58739505d1eb24a99..5396aa91494765106a60a70ce42f68eb0e944314 100644
--- a/src/main/webapp/scripts/xnat/spawner.js
+++ b/src/main/webapp/scripts/xnat/spawner.js
@@ -68,6 +68,9 @@ var XNAT = getObject(XNAT);
                 prop = cloneObject(prop);
             }
 
+            // add this for proper handling in 'universal' widgets
+            prop.spawnerElement = true;
+
             prop.element = prop.element || prop.config || {};
 
             // use 'name' property in element or config
@@ -75,7 +78,9 @@ var XNAT = getObject(XNAT);
             // lastly use the object's own name
             prop.name = prop.name || item;
 
-            //prop.id = prop.id || prop.element.id || toDashed(prop.name);
+            // auto-generate IDs if not specified
+            // I really don't like doing this here.
+            prop.id = prop.id || prop.element.id || toDashed(prop.name);
 
             // accept 'kind' or 'type' property name
             // but 'kind' will take priority