diff --git a/arch/x86/mm/setup_nx.c b/arch/x86/mm/setup_nx.c
index 4323de4..90c9eff 100644
--- a/arch/x86/mm/setup_nx.c
+++ b/arch/x86/mm/setup_nx.c
@@ -40,19 +40,12 @@ void __cpuinit x86_configure_nx(void)
 
 void __init x86_report_nx(void)
 {
+	int nx_emulation = 0;
+
 	if (!cpu_has_nx) {
-#ifdef CONFIG_X86_32
-		if (!disable_nx)
-			printk(KERN_INFO "NX (Execute Disable) protection: "
-			       "approximated by x86 segment limits\n");
-		else
-			printk(KERN_INFO "NX (Execute Disable) protection: "
-			       "approximation disabled by kernel command "
-			       "line option\n");
-#else
 		printk(KERN_NOTICE "Notice: NX (Execute Disable) protection "
 		       "missing in CPU!\n");
-#endif
+		nx_emulation = 1;
 	} else {
 #if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
 		if (disable_nx) {
@@ -65,7 +58,20 @@ void __init x86_report_nx(void)
 #else
 		/* 32bit non-PAE kernel, NX cannot be used */
 		printk(KERN_NOTICE "Notice: NX (Execute Disable) protection "
-		       "cannot be enabled: non-PAE kernel!\n");
+		       "cannot be enabled in hardware: non-PAE kernel!\n");
+		nx_emulation = 1;
+#endif
+	}
+
+	if (nx_emulation) {
+#ifdef CONFIG_X86_32
+		if (!disable_nx)
+			printk(KERN_INFO "NX (Execute Disable) protection: "
+			       "approximated by x86 segment limits\n");
+		else
+			printk(KERN_INFO "NX (Execute Disable) protection: "
+			       "approximation disabled by kernel command "
+			       "line option\n");
 #endif
 	}
 }
