diff --git a/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp b/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
index f014c535b0b271782b1cf9fd29500408c497e010..48092ca567efa614ab0b807c097beed1ce01c075 100644
--- a/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
+++ b/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
@@ -13,6 +13,7 @@
 #include "Engine/Engine.h"
 #include "IXRTrackingSystem.h"
 #include "IHeadMountedDisplay.h"
+#include "AudioDevice.h"
 
 bool UVirtualRealityUtilities::IsDesktopMode()
 {
@@ -30,7 +31,9 @@ bool UVirtualRealityUtilities::IsRoomMountedMode()
 
 bool UVirtualRealityUtilities::IsHeadMountedMode()
 {
-	return GEngine->XRSystem.IsValid() && GEngine->XRSystem->IsHeadTrackingAllowed();
+	// In editor builds: checks for EdEngine->IsVRPreviewActive()
+	// In packaged builds: checks for `-vr` in commandline or bStartInVR in UGeneralProjectSettings
+	return FAudioDevice::CanUseVRAudioDevice();
 }
 
 bool UVirtualRealityUtilities::IsCave()