diff --git a/testsuite/tests/Win32/all.T b/testsuite/tests/Win32/all.T
index dd2c481704936488caf407e461f1b049694c657e..639b267731b5f35fbbb2e71936600ae14c1ddf69 100644
--- a/testsuite/tests/Win32/all.T
+++ b/testsuite/tests/Win32/all.T
@@ -1,12 +1,12 @@
-test('registry001', normal, compile_and_run, [''])
+test('registry001', unless(opsys('mingw32'), skip), compile_and_run, [''])
 
 # This isn't a very good test to run automatically at the moment, since
 # it doesn't terminate
 test('helloworld', skip, compile_and_run, ['-package lang -package win32'])
 
-test('lasterror', normal, compile_and_run, ['-package Win32'])
-test('T4452', normal, compile_and_run, ['-package Win32'])
-test('PokeTZI', ignore_stdout, compile_and_run, ['-package Win32'])
-test('HandleConversion', normal, compile_and_run, ['-package Win32'])
+test('lasterror', unless(opsys('mingw32'), skip), compile_and_run, ['-package Win32'])
+test('T4452', unless(opsys('mingw32'), skip), compile_and_run, ['-package Win32'])
+test('PokeTZI', [unless(opsys('mingw32'), skip), ignore_stdout], compile_and_run, ['-package Win32'])
+test('HandleConversion', unless(opsys('mingw32'), skip), compile_and_run, ['-package Win32'])
 
-test('Semaphores', normal, compile_and_run, ['-threaded -package Win32'])
+test('Semaphores', unless(opsys('mingw32'), skip), compile_and_run, ['-threaded -package Win32'])