diff --git a/src/geometric_simu.cpp b/src/geometric_simu.cpp
index ec6c1afe3b319a08ecd66ac19bc9deb693a3b7b1..f6f7225a2de2ae550f4d15f109cbb336af6c22eb 100644
--- a/src/geometric_simu.cpp
+++ b/src/geometric_simu.cpp
@@ -21,7 +21,11 @@ int main(int argc, char *argv[]) {
   SotLoader aSotLoader;
   if (aSotLoader.parseOptions(argc, argv) < 0) return -1;
 
+  // Advertize service "(start|stop)_dynamic_graph" and
+  // load parameter "robot_description in SoT.
   aSotLoader.initializeRosNode(argc, argv);
+  // Load dynamic library and run python prologue.
+  aSotLoader.Initialization();
 
   ros::waitForShutdown ();
   return 0;
diff --git a/src/sot_loader_basic.cpp b/src/sot_loader_basic.cpp
index 16a95a4fd20c021ca55350ab76f98bc963be9e5c..1b3024fab714ed547b1453190512d2a5bbbfd360 100644
--- a/src/sot_loader_basic.cpp
+++ b/src/sot_loader_basic.cpp
@@ -129,7 +129,6 @@ int SotLoaderBasic::parseOptions(int argc, char* argv[]) {
   } else
     dynamicLibraryName_ = vm_["input-file"].as<string>();
 
-  Initialization();
   return 0;
 }