diff --git a/include/IMU/processor/processor_IMU.h b/include/IMU/processor/processor_IMU.h
index ed48c392a1139e32be86644f9bdd70a71b894dac..92aa170a89781a114e9d446acce55c6f5b24b12b 100644
--- a/include/IMU/processor/processor_IMU.h
+++ b/include/IMU/processor/processor_IMU.h
@@ -30,7 +30,8 @@ class ProcessorIMU : public ProcessorMotion{
     public:
         ProcessorIMU(ProcessorParamsIMUPtr _params_motion_IMU);
         virtual ~ProcessorIMU();
-        virtual void configure(SensorBasePtr _sensor) override { };
+        // virtual void configure(SensorBasePtr _sensor) override { };
+        virtual void configure(SensorBasePtr _sensor) override;
 
         WOLF_PROCESSOR_CREATE(ProcessorIMU, ProcessorParamsIMU);
 
diff --git a/src/processor/processor_IMU.cpp b/src/processor/processor_IMU.cpp
index d23e282c59e50180339163bb8f612ff37a5771e7..7c58b3ce54c27607385252a855f69412c328c9bd 100644
--- a/src/processor/processor_IMU.cpp
+++ b/src/processor/processor_IMU.cpp
@@ -21,6 +21,12 @@ ProcessorIMU::~ProcessorIMU()
     //
 }
 
+void ProcessorIMU::configure(SensorBasePtr _sensor)
+{
+    auto sensor_       = std::dynamic_pointer_cast<SensorIMU>(_sensor);
+    assert(sensor_ != nullptr && "Sensor is not of type SensorIMU");
+}
+
 bool ProcessorIMU::voteForKeyFrame() const
 {
     // time span