diff --git a/exec.c b/exec.c
index 6fa337b8d8106d0c5ae23a1f612cdbc02079c153..865a1e8295ffb276780802520bd22a188bac6bbb 100644
--- a/exec.c
+++ b/exec.c
@@ -3166,6 +3166,7 @@ void address_space_cache_destroy(MemoryRegionCache *cache)
         xen_invalidate_map_cache_entry(cache->ptr);
     }
     memory_region_unref(cache->mr);
+    cache->mr = NULL;
 }
 
 /* Called from RCU critical section.  This function has the same