diff --git a/testsuite/expect/test21.21 b/testsuite/expect/test21.21
index f24bdffab062597e49f8ae798ff76812ba6eecd7..c28b14dbba10006f5f640c2fb12d8b662a9d3f2e 100755
--- a/testsuite/expect/test21.21
+++ b/testsuite/expect/test21.21
@@ -200,10 +200,17 @@ proc _test_limits { } {
 	return $exit_code
 }
 
-
-if {[test_serial]} {
-	send_user "\nWARNING: This test is not compatible with serial system\n"
-	exit 0
+set select_type [test_select_type]
+if {![string compare $select_type "serial"]} {
+	send_user "\nWARNING: This test is incompatible with select/serial systems\n"
+	exit $exit_code
+} elseif {![string compare $select_type "linear"]} {
+	set def_part_name [default_partition]
+	set nb_nodes [get_node_cnt_in_part $def_part_name]
+	if {$nb_nodes < 2} {
+		send_user "\nWARNING: This test is incompatible with select/linear and only one node\n"
+		exit $exit_code
+	}
 }
 
 #