diff --git a/lib/components/card.dart b/lib/components/card.dart
index 7d7dce2..a0bf42c 100644
--- a/lib/components/card.dart
+++ b/lib/components/card.dart
@@ -151,13 +151,12 @@
   List<
       Point> _pointQueue; // at least 1 longer than the current animation index.
   int _animationIndex;
-  bool _cardUpdateScheduled = false;
 
   @override
   void initState() {
     super.initState();
     _initialize();
-    scheduleUpdatePosition();
+    _updatePosition();
   }
 
   void _initialize() {
@@ -178,13 +177,6 @@
     });
   }
 
-  void scheduleUpdatePosition() {
-    if (!_cardUpdateScheduled) {
-      _cardUpdateScheduled = true;
-      scheduleMicrotask(_updatePosition);
-    }
-  }
-
   Duration get animationDuration {
     switch (config.animationType) {
       case CardAnimationType.NONE:
@@ -200,8 +192,6 @@
     }
   }
 
-  // These microtasks are being scheduled on every build change.
-  // Theoretically, this is too often, but to be safe, it is also good to do it.
   @override
   void didUpdateConfig(ZCard oldConfig) {
     if (config.key != oldConfig.key) {
@@ -215,13 +205,11 @@
         });
       }
     }
-    scheduleUpdatePosition();
+    _updatePosition();
   }
 
   // A callback that sets up the animation from point a to point b.
   void _updatePosition() {
-    _cardUpdateScheduled =
-        false; // allow the next attempt to schedule _updatePosition to succeed.
     if (config.animationType == CardAnimationType.NONE ||
         _pointQueue.length == 1) {
       Point endingLocation = config.endingPosition;
