diff --git a/driver_mpu9250/src/ros_node.cpp b/driver_mpu9250/src/ros_node.cpp
index 5cc76d89901828fc8a9f6eedb212de1109efdfcd..af727b672cd1c9c2d55a3f09c998f663ca6dfa9d 100644
--- a/driver_mpu9250/src/ros_node.cpp
+++ b/driver_mpu9250/src/ros_node.cpp
@@ -196,7 +196,7 @@ void ros_node::data_callback(driver::data data)
     ros_node::m_publisher_gyroscope.publish(message_gyro);
 
     // Check if there was a magneto overflow.
-    if(isnan(data.magneto_x) == false)
+    if(std::isnan(data.magneto_x) == false)
     {
         // Create magneto message.
         sensor_msgs_ext::magnetic_field message_mag;
diff --git a/driver_mpu9250/src/ros_node.h b/driver_mpu9250/src/ros_node.h
index b4e93df3567eaa711db8183d8ff2182827f6c35d..de992e2d0b075fbbe2dd0fa8bddcce3c08c06a00 100644
--- a/driver_mpu9250/src/ros_node.h
+++ b/driver_mpu9250/src/ros_node.h
@@ -9,6 +9,7 @@
 #include <ros/ros.h>
 #include <driver_mpu9250_msgs/calibrate_gyroscope.h>
 
+#include <atomic>
 #include <deque>
 
 /// \brief Implements the driver's ROS node functionality.