diff --git a/ir_foot_sensor/src/ir_foot_sensor_driver_node.cpp b/ir_foot_sensor/src/ir_foot_sensor_driver_node.cpp
index 1dcea828e30b45a1e252714679ff696e3fe10e0a..1ff6a06e93ce152233f9523cbc529c33da55059b 100644
--- a/ir_foot_sensor/src/ir_foot_sensor_driver_node.cpp
+++ b/ir_foot_sensor/src/ir_foot_sensor_driver_node.cpp
@@ -9,7 +9,6 @@ IrFootSensorDriverNode::IrFootSensorDriverNode(ros::NodeHandle &nh) :
   this->loop_rate_ = 10;//in [Hz]
 
   // [init publishers]
-  this->sensor_data_publisher_ = this->node_handle_.advertise<humanoid_common_msgs::ir_foot_data>("sensor_data", 1);
   
   // [init subscribers]
   
@@ -38,6 +37,11 @@ IrFootSensorDriverNode::IrFootSensorDriverNode(ros::NodeHandle &nh) :
   this->driver_.set_dynamixel_baudrate(dyn_baudrate);
   this->node_handle_.getParam("ir_foot_id",dev_id);
   this->driver_.set_device_id(dev_id);
+
+  if(dyn_serial!="" && dyn_baudrate!=-1 && dev_id!=-1)
+    this->sensor_data_publisher_ = this->node_handle_.advertise<humanoid_common_msgs::ir_foot_data>("sensor_data", 1);
+  else
+    this->sensor_data_publisher_ = this->public_node_handle_.advertise<humanoid_common_msgs::ir_foot_data>("sensor_data", 1);
 }
 
 void IrFootSensorDriverNode::mainNodeThread(void)