diff --git a/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp b/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
index aab4fa3d7ef3b4d851a62185880d010bda1bb961..91a7ca0565bf1be3e606f29f4cc2357df4a05663 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()