Index: extensions/SMWHalo/scripts/QueryInterface/QIHelper.js
===================================================================
--- extensions/SMWHalo/scripts/QueryInterface/QIHelper.js	(revision 0)
+++ extensions/SMWHalo/scripts/QueryInterface/QIHelper.js	(revision 0)
@@ -3002,7 +3002,7 @@
                 for (e = 0; e < naryVals.length; e++)
                     pgroup.addValue(naryVals[e][0], naryVals[e][1], naryVals[e][2]);
             }
-            pgroup.setUnits(propdef.getUnits());
+if(propdef)            pgroup.setUnits(propdef.getUnits());
 
 			var subqueryIds = propList.getSubqueryIds(propList.getIndex(pchain.join('.')));
             if (!subqueryIds) subqueryIds = new Array();
@@ -3528,14 +3528,35 @@
 		this.range = Array();
 		this.length = 0;
 	},
+	array_merge : function(a, b) {
+		if(!a) return b;
+		if(!b) return a;
 
+		var c = a;
+		for(var i=0;i<b.length;++i) {
+			var found = false;
+			for(var j=0;j<c.length;++j) {
+				if(c[j] == b[i]) {
+					found = true;
+					break;
+				}
+			}
+			if(!found) c.push(b[i]);
+		}
+		return c;
+	},
 	add : function(name, pgroup, subqueries, type, range) {
+		subqueries = (subqueries) ? subqueries : [];
+		range = (range) ? range : "";
 		for ( var i = 0; i < this.name.length; i++) {
 			if (this.name[i] == name) {
 				this.pgroup[i] = pgroup;
-				this.subqueries[i] = (subqueries) ? subqueries : [];
+//				this.subqueries[i] = (subqueries) ? subqueries : [];
+				// array merge instead of overwrite
+				this.subqueries[i] = this.array_merge(this.subqueries[i], subqueries);
 				this.type[i] = type;
-				this.range[i] = (range) ? range : "";
+//				this.range[i] = (range) ? range : "";
+				this.range[i] = this.array_merge(this.range[i], range);
 				return;
 			}
 		}


Index: extensions/SMWHalo/scripts/OntologyBrowser/generalTools.js
===================================================================
--- extensions/SMWHalo/scripts/OntologyBrowser/generalTools.js	(revision 0)
+++ extensions/SMWHalo/scripts/OntologyBrowser/generalTools.js	(revision 0)
@@ -714,6 +714,8 @@
 	},
 
 	remove: function() {
+	var e=this.pendingIndicator;
+	if($(e).parentNode)
 		Element.remove(this.pendingIndicator);
 	}
 }
\ No newline at end of file