diff --git a/src/shared/utils/PinObserver/PinObserver.cpp b/src/shared/utils/PinObserver/PinObserver.cpp
index 42a62e8e830d302141624b5f45256f52409b354d..7690c3b5e1dbd3097b7e00109120faedfbc77ba3 100644
--- a/src/shared/utils/PinObserver/PinObserver.cpp
+++ b/src/shared/utils/PinObserver/PinObserver.cpp
@@ -43,7 +43,7 @@ bool PinObserver::registerPinCallback(miosix::GpioPin pin, PinCallback callback,
     {
         if (scheduler.addTask(
                 std::bind(&PinObserver::periodicPinValueCheck, this, pin),
-                SAMPLE_PERIOD, TaskScheduler::Policy::SKIP))
+                SAMPLE_PERIOD, TaskScheduler::Policy::RECOVER))
             return true;
         else
             callbacks.erase(pin);