diff --git a/src/iri_gazebo_set_material_plugin.cc b/src/iri_gazebo_set_material_plugin.cc
index 554a8ec5a7eb9bb79628360e93bb761f09c727ff..5672f98df9f8b8d6f7f07a37461a45e46a84f94f 100644
--- a/src/iri_gazebo_set_material_plugin.cc
+++ b/src/iri_gazebo_set_material_plugin.cc
@@ -45,8 +45,6 @@ void IriGazeboSetMaterialPlugin::Load(gazebo::rendering::VisualPtr _parent, sdf:
 
   this->plugin_name = this->GetHandle().c_str();
 
-  ROS_INFO("handle=%s", this->GetHandle().c_str());
-
   if(_sdf->HasElement("material"))
   {
     this->material1_name =  _sdf->GetElement("material")->Get<std::string>();
@@ -57,7 +55,16 @@ void IriGazeboSetMaterialPlugin::Load(gazebo::rendering::VisualPtr _parent, sdf:
   if(_sdf->HasElement("material2"))
   {
     this->material2_name =  _sdf->GetElement("material2")->Get<std::string>();
-    this->new_material=true;
+    //this->new_material=true;
+  }
+  
+  if(_sdf->HasElement("initial_state"))
+  {
+    bool initial_state =  _sdf->GetElement("initial_state")->Get<bool>();
+    if(initial_state)
+    {
+      this->material_name=this->material2_name;
+    }
   }
 
   this->pluginThread = boost::thread(boost::bind(&IriGazeboSetMaterialPlugin::threadFunction, this));
@@ -88,7 +95,7 @@ void IriGazeboSetMaterialPlugin::materialCallback(const std_msgs::String::ConstP
 {
   std_msgs::String name_msg = *_msg;
 
-  if(name_msg.data.size()==0)
+  if(name_msg.data.size()==0 || name_msg.data == "trigger")
   {
     if(this->material_name==this->material1_name)
       this->material_name=this->material2_name;