Index: Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl
===================================================================
--- Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl	(revision 145902)
+++ Src/Packages/Core/Kernel/Include/NsCore/Delegate.inl	(working copy)
@@ -581,16 +581,24 @@
         {
             // Hold reference to the vector to avoid it being destructed in the iteration loop
             InvokerGuard guard(mVector);
+            const Delegates& v = mVector->v;
 
-            for (Delegate& d: mVector->v)
+            uint32_t numDelegates = v.Size();
+            for (uint32_t i = 0; i < numDelegates; ++i)
             {
-                if (abort(param))
-                {
-                    break;
-                }
+                if (abort(param)) break;
+                (v[i])(args...);
+            }
 
-                d(args...);
-            }
+            // for (Delegate& d: mVector->v)
+            // {
+            //     if (abort(param))
+            //     {
+            //         break;
+            //     }
+            // 
+            //     d(args...);
+            // }
         }
 
         void Copy(Impl* dest) const override
