diff --git a/dlls/shell32/tests/shelldispatch.c b/dlls/shell32/tests/shelldispatch.c
index 0d38cd02d7e760f54a02b55233358b34e7f39af9..e9948ae6305294fd0711769b9faabc35e5a70278 100644
--- a/dlls/shell32/tests/shelldispatch.c
+++ b/dlls/shell32/tests/shelldispatch.c
@@ -1025,18 +1025,14 @@ static void test_ShellWindows(void)
 
     hr = CoCreateInstance(&CLSID_ShellWindows, NULL, CLSCTX_LOCAL_SERVER,
         &IID_IShellWindows, (void**)&shellwindows);
-#ifndef __i386__
-todo_wine
-#endif
     ok(hr == S_OK, "got 0x%08x\n", hr);
     /* TODO: remove when explorer startup with clean prefix is fixed */
     if (hr != S_OK)
         return;
 
-if (0) /* NULL out argument - currently crashes on Wine */ {
     hr = IShellWindows_Register(shellwindows, NULL, 0, SWC_EXPLORER, NULL);
     ok(hr == HRESULT_FROM_WIN32(RPC_X_NULL_REF_POINTER), "got 0x%08x\n", hr);
-}
+
     hr = IShellWindows_Register(shellwindows, NULL, 0, SWC_EXPLORER, &cookie);
 todo_wine
     ok(hr == E_POINTER, "got 0x%08x\n", hr);
@@ -1114,9 +1110,6 @@ todo_wine {
         IUnknown *unk;
 
         ok(disp != NULL, "got %p\n", disp);
-
-        if (disp == NULL) goto skip_disp_tests;
-
         ok(ret != HandleToUlong(hwnd), "got %d\n", ret);
 
         /* IDispatch-related tests */
@@ -1194,7 +1187,6 @@ if (hr == S_OK) {
         IServiceProvider_Release(sp);
         IDispatch_Release(disp);
     }
-skip_disp_tests:
 
     disp = (void*)0xdeadbeef;
     ret = 0xdead;