diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index d028d8373ad..38144101d80 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -113,6 +113,9 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID
}else if(IsEqualGUID(&IID_IPersistStreamInit, riid)) {
TRACE("(%p)->(IID_IPersistStreamInit %p)\n", This, ppvObject);
*ppvObject = PERSTRINIT(This);
+ }else if(IsEqualGUID(&CLSID_CMarkup, riid)) {
+ FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppvObject);
+ return E_NOINTERFACE;
}
if(*ppvObject) {
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 3d7ed03d03b..846a467ac1c 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -264,6 +264,8 @@ DEFINE_GUID(CLSID_MailtoProtocol, 0x3050F3DA, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0x
DEFINE_GUID(CLSID_ResProtocol, 0x3050F3BC, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B);
DEFINE_GUID(CLSID_SysimageProtocol, 0x76E67A63, 0x06E9, 0x11D2, 0xA8,0x40, 0x00,0x60,0x08,0x05,0x93,0x82);
+DEFINE_GUID(CLSID_CMarkup,0x3050f4fb,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
+
extern LONG module_ref;
#define LOCK_MODULE() InterlockedIncrement(&module_ref)
#define UNLOCK_MODULE() InterlockedDecrement(&module_ref)
diff --git a/dlls/mshtml/service.c b/dlls/mshtml/service.c
index 1d016b97ef5..ce4dc2e61f0 100644
--- a/dlls/mshtml/service.c
+++ b/dlls/mshtml/service.c
@@ -63,11 +63,11 @@ static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFG
{
HTMLDocument *This = SERVPROV_THIS(iface);
- /* NOTE:
- * IE queries for service {3050f84b-98b5-11cf-bb82-00aa00bdce0b}.
- * Its interface has the same IID and HTMLDocument also implements this
- * interface. I conldn't find that interface is it.
- */
+ /* See http://msdn.microsoft.com/workshop/browser/hosting/wbcustompart2.asp */
+ if(IsEqualGUID(&CLSID_CMarkup, guidService)) {
+ FIXME("(%p)->(CLSID_CMarkup %s %p)\n", This, debugstr_guid(riid), ppv);
+ return E_NOINTERFACE;
+ }
FIXME("(%p)->(%s %s %p)\n", This, debugstr_guid(guidService), debugstr_guid(riid), ppv);