diff --git a/franka_hw/include/franka_hw/franka_hw.h b/franka_hw/include/franka_hw/franka_hw.h
index 9d967f4302a200d718f20a04d0fe6d3fd57686b4..845989d155b6cb9899c9ae6e494d3ee35fbc60a6 100644
--- a/franka_hw/include/franka_hw/franka_hw.h
+++ b/franka_hw/include/franka_hw/franka_hw.h
@@ -174,7 +174,8 @@ class FrankaHW : public hardware_interface::RobotHW {
                     const franka::RobotState& robot_state,
                     franka::Duration time_step) {
     robot_state_ = robot_state;
-    if (ros_callback && !ros_callback(robot_state, time_step) || !controller_active_) {
+    bool controller_active = controller_active_;
+    if (ros_callback && !ros_callback(robot_state, time_step) || !controller_active) {
       return franka::MotionFinished(command);
     }
     return command;