 						}
 						
 						// if there is only a single variable, wrap it in an operator ',' call
-						if (!call.compiledParams || call.evaluatedMethod == operators['='])
+						if (isVariableLookup(call) || call.evaluatedMethod == operators['='])
 							tokens[startIndex + iPattern] = token = call = compileOperator(',', [call]);
 						
 						// special case for "for (var x in y) { }"

								errorHandler,
								cascadeThisScope,
								funcParams[FUNCTION_PARAM_NAMES],
								funcParams[FUNCTION_PARAM_VALUES]
							);
						}
						else if (call.evaluatedHost is Proxy)

						{
							// check the variable
							call = call.compiledParams[0] as CompiledFunctionCall;
							if (!isVariableLookup(call))
								throwInvalidSyntax(stmt);
							// save single variable name
							varNames = [call.evaluatedMethod];
