diff --git a/miosix/kernel/intrusive.h b/miosix/kernel/intrusive.h
old mode 100644
new mode 100755
index 1031d57f723610c65ee926e0c8fcebf5ff15859a..b8c46dfc5f786dc20fdd155e87811601f7d33853
--- a/miosix/kernel/intrusive.h
+++ b/miosix/kernel/intrusive.h
@@ -791,6 +791,9 @@ public:
      */
     iterator erase(iterator it)
     {
+        // Can't erase an item that is already erased
+        if ((*it)->next==nullptr || (*it)->prev==nullptr) return it;
+        // Can't erase the emptyListItem which is used for internal purposes
         if((*it)==&emptyListItem) return it;
         iterator result = it;
         result++;