jscript: Don't use EXPR_NEWREF in forin_statement_event.
diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c
index 0f9263f..7b85040 100644
--- a/dlls/jscript/engine.c
+++ b/dlls/jscript/engine.c
@@ -1012,7 +1012,7 @@
             return hres;
     }
 
-    hres = expr_eval(ctx, stat->in_expr, EXPR_NEWREF, &rt->ei, &exprval);
+    hres = expr_eval(ctx, stat->in_expr, 0, &rt->ei, &exprval);
     if(FAILED(hres))
         return hres;
 
diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js
index bbd2c42..5677d32 100644
--- a/dlls/jscript/tests/lang.js
+++ b/dlls/jscript/tests/lang.js
@@ -803,6 +803,11 @@
 for(obj1.nonexistent; tmp; tmp = false)
     ok(!("nonexistent" in obj1), "nonexistent added to obj1");
 
+obj1 = new Object();
+for(tmp in obj1.nonexistent)
+    ok(false, "for(tmp in obj1.nonexistent) called with tmp = " + tmp);
+ok(!("nonexistent" in obj1), "nonexistent added to obj1 by for..in loop");
+
 ok((void 1) === undefined, "(void 1) !== undefined");
 
 var inobj = new Object();