diff --git a/core/mmu.cc b/core/mmu.cc
index 3590bee13df18ccc02aac823ed56c8c0e0e57f2e..245ce2fe070a577a94db14cd0f32925890d36311 100644
--- a/core/mmu.cc
+++ b/core/mmu.cc
@@ -105,7 +105,7 @@ pt_element make_pte(phys addr, unsigned perm)
     if (perm & perm_write) {
         pte |= 0x2;
     }
-    if (!(perm * perm_exec)) {
+    if (!(perm & perm_exec)) {
         pte |= pt_element(0x8000000000000000);
     }
     return pte;