diff --git a/miosix/kernel/intrusive.h b/miosix/kernel/intrusive.h
index ec77b5d5b28021c145e2fe781f22363065529031..8402c11a0f3b23bf9e39a532e791ba0deffb78cc 100755
--- a/miosix/kernel/intrusive.h
+++ b/miosix/kernel/intrusive.h
@@ -377,6 +377,7 @@ intrusive_ref_ptr<T> intrusive_ref_ptr<T>::atomic_load() const
     // virtual base classes, but that's an acceptable limitation, especially
     // considering that you get a meaningful compiler error if accidentally
     // trying to use it in such a case.
+    #pragma GCC diagnostic push
     #pragma GCC diagnostic ignored "-Winvalid-offsetof"
     const int offsetBytes=offsetof(T,intrusive.referenceCount);
     #pragma GCC diagnostic pop