diff --git a/Geo/GeoStringInterface.cpp b/Geo/GeoStringInterface.cpp
index 763290101a896e44c1983278ae336bde8e06e208..f0d3645d558822fcce54f512d4a360ca42560883 100644
--- a/Geo/GeoStringInterface.cpp
+++ b/Geo/GeoStringInterface.cpp
@@ -314,6 +314,7 @@ void add_physical(std::string type, List_T *list, std::string fileName)
 void add_compound(std::string type, List_T *list, std::string fileName)
 {
   std::ostringstream sstream;
+  if(SplitFileName(fileName)[2] != ".geo") sstream << "CreateTopology;\n";
   sstream << "Compound " << type << "(" << NEWREG() << ") = {" 
           << list2string(list) << "};";
   add_infile(sstream.str(), fileName);