diff --git a/core/tracking/hooks/useTracking.ts b/core/tracking/hooks/useTracking.ts
index 0a2577ad5fab52fcf99ae18ee9e83de9b13d21a4..70886deddafd0c7fd83c342f58f532a88a23423a 100644
--- a/core/tracking/hooks/useTracking.ts
+++ b/core/tracking/hooks/useTracking.ts
@@ -3,6 +3,7 @@ import { usePosthogCrossPlatform } from '@holi/core/tracking/PosthogCrossPlatfor
 import { useConsentState } from '@holi/core/tracking/TrackingInitializer'
 import { TrackingEvent } from '@holi/core/tracking/events'
 import { ConsentState, TrackingHook } from '@holi/core/tracking/types'
+import { useCallback } from 'react'
 
 const logger = getLogger('Tracking')
 
@@ -10,22 +11,25 @@ const useTracking = (): TrackingHook => {
   const posthog = usePosthogCrossPlatform()
   const [consent] = useConsentState()
   return {
-    track: (event: TrackingEvent) => {
-      logger.debug('trackEvent', `tracking "${event.name}" event`, event)
-      try {
-        posthog.capture(event.name, {
-          ...event.properties,
-          ...ConsentState.toEventProperties(consent),
-          event_version__major: event.event_version__major,
-          event_version__minor: event.event_version__minor,
-          event_version__patch: event.event_version__patch,
-        })
-      } catch (e) {
-        // console.error will be picked up by Sentry, so this does not go unnoticed to the programmer, but to the user.
-        // eslint-disable-next-line no-console
-        console.error('Error during evaluation of onTrack callback', e)
-      }
-    },
+    track: useCallback(
+      (event: TrackingEvent) => {
+        logger.debug('trackEvent', `tracking "${event.name}" event`, event)
+        try {
+          posthog.capture(event.name, {
+            ...event.properties,
+            ...ConsentState.toEventProperties(consent),
+            event_version__major: event.event_version__major,
+            event_version__minor: event.event_version__minor,
+            event_version__patch: event.event_version__patch,
+          })
+        } catch (e) {
+          // console.error will be picked up by Sentry, so this does not go unnoticed to the programmer, but to the user.
+          // eslint-disable-next-line no-console
+          console.error('Error during evaluation of onTrack callback', e)
+        }
+      },
+      [consent, posthog]
+    ),
   }
 }