diff --git a/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp b/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
index 52befd74baee3922c37b906e6bd4b41346822fb2..01f92157896d42525e9a22c428402a4ad8edbd60 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()