diff --git a/passes/memory/memory_libmap.cc b/passes/memory/memory_libmap.cc
index cc8cb046d..b0d0498ea 100644
--- a/passes/memory/memory_libmap.cc
+++ b/passes/memory/memory_libmap.cc
@@ -2258,6 +2258,8 @@ struct MemoryLibMapPass : public Pass {
 					log("using FF mapping for memory %s.%s\n", log_id(module->name), log_id(mem.memid));
 				} else {
 					map.emit(map.cfgs[idx]);
+					// Rebuild indices after modifying module
+					worker = MapWorker(module);
 				}
 			}
 		}