there is a function called "primary_possible" which is used to set the
"prim_possible" variable a few lines before this, but the logic will
incorrectly test "primary_possible" instead of "prim_possible".

--- a/menufuncs.c
+++ b/menufuncs.c
@@ -599,7 +599,7 @@ void new_partition( void )
 	}
 	else if (!ext_possible)
 	    make_ext = 0;
-	else if (!primary_possible)
+	else if (!prim_possible)
 	    make_ext = 1;
 	else
 	    /* Create an extended partition if this is the 4th part. (to avoid