diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c
index 68762a90603e86ac7fe9f518da8883634f9d1966..dfeb81d6a11e5dfea405df0de617e01f6d458ede 100644
--- a/dlls/mshtml/olecmd.c
+++ b/dlls/mshtml/olecmd.c
@@ -307,18 +307,15 @@ static DWORD query_edit_status(HTMLDocument *This, const char *nscmd)
     nsICommandParams *nsparam;
     PRBool b = FALSE;
 
-    if(!This->nscontainer) {
-        FIXME("dummy not implemented\n");
-        return OLECMDF_SUPPORTED;
-    }
-
     if(This->usermode != EDITMODE || This->readystate < READYSTATE_INTERACTIVE)
         return OLECMDF_SUPPORTED;
 
-    nsparam = create_nscommand_params();
-    get_ns_command_state(This->nscontainer, nscmd, nsparam);
+    if(This->nscontainer) {
+        nsparam = create_nscommand_params();
+        get_ns_command_state(This->nscontainer, nscmd, nsparam);
 
-    nsICommandParams_GetBooleanValue(nsparam, "state_enabled", &b);
+        nsICommandParams_GetBooleanValue(nsparam, "state_all", &b);
+    }
 
     return OLECMDF_SUPPORTED | OLECMDF_ENABLED | (b ? OLECMDF_LATCHED : 0);
 }