diff --git a/dlls/mshtml/mutation.c b/dlls/mshtml/mutation.c
index 87497f64426..a00f81afc3b 100644
--- a/dlls/mshtml/mutation.c
+++ b/dlls/mshtml/mutation.c
@@ -341,7 +341,8 @@ static nsresult run_insert_script(HTMLDocumentNode *doc, nsISupports *script_ifa
while(!list_empty(&window->script_queue)) {
iter = LIST_ENTRY(list_head(&window->script_queue), script_queue_entry_t, entry);
list_remove(&iter->entry);
- doc_insert_script(window, iter->script);
+ if(!iter->script->parsed)
+ doc_insert_script(window, iter->script);
IHTMLScriptElement_Release(&iter->script->IHTMLScriptElement_iface);
heap_free(iter);
}
diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c
index 82a230dc14b..a212b991df3 100644
--- a/dlls/mshtml/script.c
+++ b/dlls/mshtml/script.c
@@ -760,7 +760,6 @@ static void parse_inline_script(ScriptHost *script_host, HTMLScriptElement *scri
if(NS_FAILED(nsres)) {
ERR("GetText failed: %08x\n", nsres);
}else if(*text) {
- script_elem->parsed = TRUE;
parse_text(script_host, text);
}
@@ -927,9 +926,6 @@ void doc_insert_script(HTMLInnerWindow *window, HTMLScriptElement *script_elem)
{
ScriptHost *script_host;
- if(script_elem->parsed)
- return;
-
script_host = get_elem_script_host(window, script_elem);
if(!script_host)
return;