diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index 9097c1ef97cd82b1dfe15c89fd850c650510b0f6..14337d60b8b9b463cd806f871ccbec639094607d 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -225,7 +225,11 @@ ProblemPtr Problem::autoSetup(YAML::Node _param_node)
     auto map = FactoryMap::create(map_type, map_node);
     map->setProblem(problem);
     problem->setMap(map);
-
+    // load map from file (optional)
+    if (map_node["filename"])
+    {
+        problem->loadMap(map_node["filename"].as<std::string>());
+    }
 
     // Done
     return problem;