 			{
 				_searchString = value;
 				_searchRegExp = strToRegExp(value);
-				_xmlNodeLookup = new JS.WeakMap();
 				Weave.getCallbacks(this).triggerCallbacks();
 			}
 		}

				
				// if cache updated, rebuild idLookup
				if (Weave.detectChange(results, cache))
				{
					_xmlNodeLookup = new JS.WeakMap();
					results.rebuildLookup(cache);
				}
				
				// The idLookup determines whether or not we want to include this EntityNode.
				lookup = results.idLookup[en.id];

			if (_searchField != value)
			{
				_searchField = value;
				Weave.getCallbacks(this).triggerCallbacks();
			}
		}
