diff --git a/Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp b/Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp
index caf7358c187767103682791ef47dbe9be5fba4d1..b403a3b3579d6db24574effcae8ed6034d011e35 100644
--- a/Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp
+++ b/Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp
@@ -166,7 +166,7 @@ void USFLogObject::WriteGazeTrackingLogToFile() {
 	}
 
 	USFGazeTracker* GazeTracker = USFGameInstance::Get()->GetGazeTracker();
-	if(!GazeTracker || GazeTracker->DataAlreadyLogged())
+	if(!GazeTracker || (GazeTracker->IsTrackingEyes() && GazeTracker->DataAlreadyLogged()))
 	{
 		return;
 	}
diff --git a/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h b/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h
index b6cebcf660754837fd166b778236b3efc85fb0c5..d07e3aa47ab0f7ecc05ddd0a67af5b6901af40de 100644
--- a/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h
+++ b/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h
@@ -86,7 +86,9 @@ private:
 	UPROPERTY()
 	TArray<AActor*> ActorsToIgnore;
 
-	bool bDataLogged = false;
+	//This is only relevant for when eyetracking is used: Set false once SranipalEyeData is updated, Set true after writing out current eyedata
+	//For Head Rotation, we always get up-to-date info while logging, then bDataLogged is ignored
+	bool bDataLogged = true;
 	float EyeDataGatheringDelay;
 	float TimeSinceLastEyeDataGather = 0.0f;
 #ifdef WITH_SRANIPAL