diff --git a/Source/StudyFrameworkPlugin/Private/GazeTracking/SFGazeTracker.cpp b/Source/StudyFrameworkPlugin/Private/GazeTracking/SFGazeTracker.cpp
index 3001ae07ed838fa7a63e844ec0a9eb61fb4eff48..aaffdf5e6eec47e0c95998846457aa2498d8eaf0 100644
--- a/Source/StudyFrameworkPlugin/Private/GazeTracking/SFGazeTracker.cpp
+++ b/Source/StudyFrameworkPlugin/Private/GazeTracking/SFGazeTracker.cpp
@@ -27,13 +27,15 @@ bool USFGazeTracker::Tick(float DeltaTime)
 #ifdef WITH_SRANIPAL
 		bIsAsyncEyeTrackingTaskRunning = true;
 		ViveSR::anipal::Eye::EyeData_v2 TempEyeData;
-		AsyncTask(ENamedThreads::AnyThread, [TempEyeDataAddr = MoveTemp(&TempEyeData), OnEyeTrackingDataReceived]()
+		AsyncTask(ENamedThreads::AnyThread, [TempEyeDataAddr = &TempEyeData, SranipalEyeData = MoveTemp(SranipalEyeData), bIsAsyncEyeTrackingTaskRunning = MoveTemp(bIsAsyncEyeTrackingTaskRunning), bDataLogged = MoveTemp(bDataLogged)]()
 			{				
 				ViveSR::anipal::Eye::GetEyeData_v2(TempEyeDataAddr);
 
-				AsyncTask(ENamedThreads::GameThread, [TempEyeDataAddr = MoveTemp(TempEyeDataAddr), OnEyeTrackingDataReceived]() mutable
+				AsyncTask(ENamedThreads::GameThread, [TempEyeDataAddr =TempEyeDataAddr, SranipalEyeData, bIsAsyncEyeTrackingTaskRunning, bDataLogged]() mutable
 					{
-						OnEyeTrackingDataReceived.ExecuteIfBound(*TempEyeDataAddr);
+						SranipalEyeData = *TempEyeDataAddr;
+						bDataLogged = false;
+						bIsAsyncEyeTrackingTaskRunning = false;
 					});
 	
 			});		
diff --git a/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h b/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h
index 25782c8e8604887d40a8f76d15a05b3a705b2bcd..9f7e393d55e8318ac6d6c44719cd9cb94136267e 100644
--- a/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h
+++ b/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h
@@ -11,7 +11,7 @@
 
 #ifdef WITH_SRANIPAL
 //Use this to broadcast the data from async thread to game thread for logging
-DECLARE_DYNAMIC_DELEGATE_OneParam(FOnEyeTrackingDataReceived, const ViveSR::anipal::Eye::EyeData_v2, EyeData);
+//DECLARE_DYNAMIC_DELEGATE_OneParam(FOnEyeTrackingDataReceived, const ViveSR::anipal::Eye::EyeData_v2, EyeData);
 #endif
 
 UENUM()
@@ -82,7 +82,7 @@ public:
 
 
 #ifdef WITH_SRANIPAL
-	FOnEyeTrackingDataReceived& OnEyeTrackingDataReceived;
+	//FOnEyeTrackingDataReceived& OnEyeTrackingDataReceived;
 	void OnEyeTrackingDataReceived(ViveSR::anipal::Eye::EyeData_v2 EyeData);
 #endif
 private: