diff --git a/include/iri_base_driver/iri_base_driver_node.h b/include/iri_base_driver/iri_base_driver_node.h
index 0bc5be806c15630c641a4cb1cb61b240c5aa2aeb..7225f9c427d60774057d5f2e14fb8f91552160bb 100644
--- a/include/iri_base_driver/iri_base_driver_node.h
+++ b/include/iri_base_driver/iri_base_driver_node.h
@@ -373,13 +373,13 @@ void *IriBaseNodeDriver<Driver>::mainThread(void *param)
 template <class Driver>
 void IriBaseNodeDriver<Driver>::setRate(double rate_hz)
 {
-  this->loop_rate_=rate_hz;
+  this->loop_rate_=ros::Rate(rate_hz);
 }
 
 template <class Driver>
 double IriBaseNodeDriver<Driver>::getRate(void)
 {
-  return this->loop_rate_;
+  return 1.0/this->loop_rate_.expectedCycleTime().toSec();
 }
 
 template <class Driver>