diff --git a/src/node.cpp b/src/node.cpp
index 4df79958f0cebce854c69224d677276459bcadd0..7e102f812439d204fa69dc6e65142ca57ebcd263 100644
--- a/src/node.cpp
+++ b/src/node.cpp
@@ -130,11 +130,15 @@ WolfRosNode::WolfRosNode()
         l->load();
         loaders_.push_back(l);
 
+        auto sensor_ptr = problem_ptr_->findSensor(sensor);
+        if (not sensor_ptr)
+            throw std::runtime_error("Sensor " + sensor + " was not found!");
+
         WOLF_TRACE("From sensor {" + sensor + "} subscribing {" + type + "} to {" + topic + "} topic");
         subscribers_.push_back(FactorySubscriber::create(type,
                                                          name,
                                                          server,
-                                                         problem_ptr_->findSensor(sensor),
+                                                         sensor_ptr,
                                                          nh_));
     }