Index: /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp	(revision 41387)
+++ /trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp	(revision 41388)
@@ -90,4 +90,6 @@
     PVMCPU          pVCpu = VMMGetCpu(pVM);
     NOREF(uErrorCode); NOREF(pvFault);
+
+    Assert(!(uErrorCode & X86_TRAP_PF_RW)); /* This shall not be used for write access! */
 
     Assert(iPage < (pRom->cb >> PAGE_SHIFT));
Index: /trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp	(revision 41387)
+++ /trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp	(revision 41388)
@@ -3198,9 +3198,5 @@
                 REMR3NotifyPhysRomRegister(pVM, GCPhys, cb, NULL, true /* fShadowed */);
 #endif
-                rc = PGMR3HandlerPhysicalRegister(pVM,
-                                                  fFlags & PGMPHYS_ROM_FLAGS_SHADOWED
-                                                  ? PGMPHYSHANDLERTYPE_PHYSICAL_ALL
-                                                  : PGMPHYSHANDLERTYPE_PHYSICAL_WRITE,
-                                                  GCPhys, GCPhysLast,
+                rc = PGMR3HandlerPhysicalRegister(pVM, PGMPHYSHANDLERTYPE_PHYSICAL_WRITE, GCPhys, GCPhysLast,
                                                   pgmR3PhysRomWriteHandler, pRomNew,
                                                   NULL, "pgmPhysRomWriteHandler", MMHyperCCToR0(pVM, pRomNew),
@@ -3209,9 +3205,5 @@
             else
             {
-                rc = PGMR3HandlerPhysicalRegister(pVM,
-                                                  fFlags & PGMPHYS_ROM_FLAGS_SHADOWED
-                                                  ? PGMPHYSHANDLERTYPE_PHYSICAL_ALL
-                                                  : PGMPHYSHANDLERTYPE_PHYSICAL_WRITE,
-                                                  GCPhys, GCPhysLast,
+                rc = PGMR3HandlerPhysicalRegister(pVM, PGMPHYSHANDLERTYPE_PHYSICAL_WRITE, GCPhys, GCPhysLast,
                                                   pgmR3PhysRomWriteHandler, pRomNew,
                                                   NULL, "pgmPhysRomWriteHandler", MMHyperCCToR0(pVM, pRomNew),
