diff --git a/passes/hierarchy/submod.cc b/passes/hierarchy/submod.cc
index 211f96175..3b4f33a60 100644
--- a/passes/hierarchy/submod.cc
+++ b/passes/hierarchy/submod.cc
@@ -42,7 +42,7 @@ struct SubmodWorker
 	struct SubModule
 	{
 		std::string name, full_name;
-		std::set<RTLIL::Cell*> cells;
+		pool<RTLIL::Cell*> cells;
 	};
 
 	std::map<std::string, SubModule> submodules;