Index: main.c
===================================================================
RCS file: /sources/make/make/main.c,v
retrieving revision 1.247
retrieving revision 1.246
diff -u -r1.247 -r1.246
--- main.c	18 Sep 2011 23:39:26 -0000	1.247
+++ main.c	29 Aug 2010 23:05:27 -0000	1.246
@@ -2089,6 +2089,11 @@
 
           ++restarts;
 
+          /* If we're re-exec'ing the first make, put back the number of
+             job slots so define_makefiles() will get it right.  */
+          if (master_job_slots)
+            job_slots = master_job_slots;
+
           /* Reset makeflags in case they were changed.  */
           {
             const char *pv = define_makeflags (1, 1);
@@ -2830,9 +2825,6 @@
 		       && (*(unsigned int *) cs->value_ptr ==
 			   *(unsigned int *) cs->noarg_value))
 		ADD_FLAG ("", 0); /* Optional value omitted; see below.  */
-	      else if (cs->c == 'j')
-		/* Special case for `-j'.  */
-		ADD_FLAG ("1", 1);
 	      else
 		{
 		  char *buf = alloca (30);
