diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java b/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java index d937d9eeb0e..283556cea15 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/core/ReactChoreographer.java @@ -136,11 +136,13 @@ public class ReactChoreographer { public synchronized void removeFrameCallback( CallbackType type, ChoreographerCompat.FrameCallback frameCallback) { - if (mCallbackQueues[type.getOrder()].removeFirstOccurrence(frameCallback)) { - mTotalCallbacks--; - maybeRemoveFrameCallback(); - } else { - FLog.e(ReactConstants.TAG, "Tried to remove non-existent frame callback"); + synchronized (ReactChoreographer.this) { + if (mCallbackQueues[type.getOrder()].removeFirstOccurrence(frameCallback)) { + mTotalCallbacks--; + maybeRemoveFrameCallback(); + } else { + FLog.e(ReactConstants.TAG, "Tried to remove non-existent frame callback"); + } } }