diff --git a/tests/meson.build b/tests/meson.build
index 59ef94140ee78c7597ef35b7764eef9ace4d0093..caaf52bd455314fa4e8b733a6d87c8ca8f6b0e9f 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -16,7 +16,7 @@ tests = {
 		  {
 			'description': 'Simplest fib test',
 			'test_suite': 'smoke',
-#			'is_parallel': true,
+			'is_parallel': true,
 		  },
 
 		  'c_api_test.c':
@@ -63,14 +63,14 @@ tests = {
 		  {
 			'description': 'Simple test for PrivateSemaphore:signalFromAnywhere()',
 			'test_suite': 'smoke',
-#			'is_parallel': true,
+			'is_parallel': true,
 			'test_runner': 'emper',
 		  },
 		  'TellActorFromAnywhereTest.cpp':
 		  {
 			'description': 'Simple test for Actor:tellFromAnywhere()',
 			'test_suite': 'smoke',
-#			'is_parallel': true,
+			'is_parallel': true,
 			'test_runner': 'emper',
 		  },
 
@@ -159,6 +159,10 @@ test_env = environment(
 
 subdir('test-runner')
 
+io_uring_enabled = get_option('io')
+
+parallel_ok = (not io_uring_enabled)
+
 foreach source, test_dict : tests
   # TODO: Use meson fs (filesystem) module once meson >= 0.53 is in
   # buster-backports, instead of split('.')[0]
@@ -183,9 +187,11 @@ foreach source, test_dict : tests
 						dependencies: [emper_full_dep] + test_deps,
 					   )
 
+  test_is_parallel = test_dict.get('is_parallel', false)
+
   test(test_name,
 	   test_exe,
-	   is_parallel: test_dict.get('is_parallel', false),
+	   is_parallel: test_is_parallel and parallel_ok,
 	   suite: test_dict.get('test_suite', 'all'),
 	   env: test_env,
 	   timeout: test_dict.get('timeout', 180),