diff --git a/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp b/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp
index c12c3dd21460094e2e0a5561d2d4184afad18a38..c25e1a0c622fb9d30612fba9394bb5869df94f1b 100644
--- a/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp
+++ b/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp
@@ -453,6 +453,22 @@ SoSeparator* CoinVisualizationFactory::CreateCoordSystemVisualization(float scal
 	return result;
 }
 
+SoSeparator* CoinVisualizationFactory::CreateText(const std::string &s)
+{
+	SoSeparator *textSep = new SoSeparator();
+	SoTranslation *moveT = new SoTranslation();
+	moveT->translation.setValue(2.0f,2.0f,0.0f);
+	textSep->addChild(moveT);
+	SoAsciiText *textNode = new SoAsciiText();
+	/*std::string text2(*text);
+	text2.replace( ' ', "_" );*/
+	SbString text2(s.c_str());
+	text2.apply( &IVToolsHelper_ReplaceSpaceWithUnderscore );
+	textNode->string.set(text2.getString());
+	textSep->addChild(textNode);
+	return textSep;
+}
+
 SoSeparator* CoinVisualizationFactory::CreateVertexVisualization( const Eigen::Vector3f &position, float radius, float transparency, float colorR /*= 0.5f*/, float colorG /*= 0.5f*/, float colorB /*= 0.5f*/ )
 {
 	SoSeparator *res = new SoSeparator;
diff --git a/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h b/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h
index 16ec6cb866ed79c6a4e67d56e6bfb3b191e49efb..3cc8dfd9bf0d52a08fa01eaa2cba1961372c4291 100644
--- a/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h
+++ b/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h
@@ -108,6 +108,8 @@ public:
 	*/
 	static SoSeparator* CreateEndEffectorVisualization(EndEffectorPtr eef, SceneObject::VisualizationType = SceneObject::Full);
 
+	static SoSeparator* CreateText(const std::string &s);
+
 	/*!
 		Convenient method to retrieve a coin visualization for a robot
 	*/