diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c
index 3517a27a42a..ca269fc7da9 100644
--- a/dlls/mshtml/nsio.c
+++ b/dlls/mshtml/nsio.c
@@ -1533,29 +1533,28 @@ static nsresult NSAPI nsURI_SchemeIs(nsIWineURI *iface, const char *scheme, PRBo
static nsresult NSAPI nsURI_Clone(nsIWineURI *iface, nsIURI **_retval)
{
nsURI *This = NSURI_THIS(iface);
+ nsIURI *nsuri = NULL;
+ nsIWineURI *wine_uri;
+ nsresult nsres;
TRACE("(%p)->(%p)\n", This, _retval);
if(This->uri) {
- nsIURI *uri;
- nsIWineURI *wine_uri;
- nsresult nsres;
-
- nsres = nsIURI_Clone(This->uri, &uri);
+ nsres = nsIURI_Clone(This->uri, &nsuri);
if(NS_FAILED(nsres)) {
WARN("Clone failed: %08x\n", nsres);
return nsres;
}
+ }
- nsres = create_uri(uri, This->container, &wine_uri);
- *_retval = (nsIURI*)wine_uri;
- if(NS_SUCCEEDED(nsres))
- return nsIWineURI_SetWineURL(wine_uri, This->wine_url);
+ nsres = create_uri(nsuri, This->container, &wine_uri);
+ if(NS_FAILED(nsres)) {
+ WARN("create_uri failed: %08x\n", nsres);
return nsres;
}
- FIXME("default action not implemented\n");
- return NS_ERROR_NOT_IMPLEMENTED;
+ *_retval = (nsIURI*)wine_uri;
+ return nsIWineURI_SetWineURL(wine_uri, This->wine_url);
}
static nsresult NSAPI nsURI_Resolve(nsIWineURI *iface, const nsACString *arelativePath,