diff --git a/simulators/c++2/src_simulator/sim/Simulator.cpp b/simulators/c++2/src_simulator/sim/Simulator.cpp
index 103f43e2ded612b83d05fb58ea3629bee7778eff..697c35c44d2ebe3d635190e5492143e4f6abddf0 100644
--- a/simulators/c++2/src_simulator/sim/Simulator.cpp
+++ b/simulators/c++2/src_simulator/sim/Simulator.cpp
@@ -2542,7 +2542,13 @@ void Simulator::decodeCommand(std::string iCmd, std::ostream &iXmlOutStream)
     aInpStream >> aParam1;
 
     std::cout << "printhtis" << std::endl;
-    std::cout << TAG_MSGo << oLastTrans->toString() << aStrParam << TAG_MSGc << std::endl;
+    std::string oLastTransString;
+    if (oLastTrans == NULL) {
+      oLastTransString = "<null>";
+    } else {
+      oLastTransString = oLastTrans->toString();
+    }
+    std::cout << TAG_MSGo << oLastTransString << aStrParam << TAG_MSGc << std::endl;
     switch (aParam1)
     {
     case 0: