--- a/arch/mips/kernel/vpe-mt.c
+++ b/arch/mips/kernel/vpe-mt.c
@@ -132,7 +132,10 @@ int vpe_run(struct vpe *v)
 	 * kernels need to turn it on, even if that wasn't the pre-dvpe() state.
 	 */
 #ifdef CONFIG_SMP
-	evpe(vpeflags);
+	if (!setup_max_cpus) /* nosmp is set */
+		evpe(EVPE_ENABLE);
+	else
+		evpe(vpeflags);
 #else
 	evpe(EVPE_ENABLE);
 #endif