diff --git a/miosix/kernel/intrusive.h b/miosix/kernel/intrusive.h
index 44e59f4a594ad4860b91f20888c5642f87cf8656..36fa7c376d80eb9af753943d60abe0db67092bec 100644
--- a/miosix/kernel/intrusive.h
+++ b/miosix/kernel/intrusive.h
@@ -669,6 +669,8 @@ public:
         T *cur;
     public:
         iterator(T *cur) : cur(cur) {}
+        iterator operator++() { cur = static_cast<T*>(cur->next); }
+        iterator operator--() { cur = static_cast<T*>(cur->prev); }
         iterator operator++(int) { cur = static_cast<T*>(cur->next); }
         iterator operator--(int) { cur = static_cast<T*>(cur->prev); }
         T* operator*() { return cur; }