diff --git a/dlls/mshtml/conpoint.c b/dlls/mshtml/conpoint.c
index 860a9a597bb..35b73a800ac 100644
--- a/dlls/mshtml/conpoint.c
+++ b/dlls/mshtml/conpoint.c
@@ -158,8 +158,15 @@ static HRESULT WINAPI ConnectionPoint_Advise(IConnectionPoint *iface, IUnknown *
static HRESULT WINAPI ConnectionPoint_Unadvise(IConnectionPoint *iface, DWORD dwCookie)
{
ConnectionPoint *This = CONPOINT_THIS(iface);
- FIXME("(%p)->(%ld)\n", This, dwCookie);
- return E_NOTIMPL;
+ TRACE("(%p)->(%ld)\n", This, dwCookie);
+
+ if(!dwCookie || dwCookie > This->sinks_size || !This->sinks[dwCookie-1].unk)
+ return CONNECT_E_NOCONNECTION;
+
+ IUnknown_Release(This->sinks[dwCookie-1].unk);
+ This->sinks[dwCookie-1].unk = NULL;
+
+ return S_OK;
}
static HRESULT WINAPI ConnectionPoint_EnumConnections(IConnectionPoint *iface,