diff --git a/.rive_head b/.rive_head
index 9c8e55f..592c7e0 100644
--- a/.rive_head
+++ b/.rive_head
@@ -1 +1 @@
-a4fb3dc7decb50f6965e21ebced098cbdc35883d
+f2ecb824beea0dadfe7077accacb5cd246cac669
diff --git a/include/rive/math/aabb.hpp b/include/rive/math/aabb.hpp
index 5d0ef5d..2e8132e 100644
--- a/include/rive/math/aabb.hpp
+++ b/include/rive/math/aabb.hpp
@@ -93,8 +93,8 @@
 
     Vec2D factorFrom(Vec2D point) const
     {
-        return Vec2D((point.x - left()) * 2.0f / width() - 1.0f,
-                     (point.y - top()) * 2.0f / height() - 1.0f);
+        return Vec2D(width() == 0.0f ? 0.0f : (point.x - left()) * 2.0f / width() - 1.0f,
+                     (height() == 0.0f ? 0.0f : point.y - top()) * 2.0f / height() - 1.0f);
     }
 };
 
diff --git a/src/artboard.cpp b/src/artboard.cpp
index 2c5b233..4f09ab0 100644
--- a/src/artboard.cpp
+++ b/src/artboard.cpp
@@ -485,9 +485,19 @@
     {
         for (auto joystick : m_Joysticks)
         {
+            if (!joystick->canApplyBeforeUpdate())
+            {
+                if (updateComponents())
+                {
+                    didUpdate = true;
+                }
+            }
             joystick->apply(this);
         }
-        updateComponents();
+        if (updateComponents())
+        {
+            didUpdate = true;
+        }
     }
     for (auto nestedArtboard : m_NestedArtboards)
     {
