diff --git a/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp b/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
index 8281ebbb15dff70fbc6bb41303f81854255bf40c..9ea06e432ba7bd85d3730854a0bc1d59ebf044bd 100644
--- a/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
+++ b/Source/DisplayClusterExtensions/Private/VirtualRealityPawn.cpp
@@ -3,6 +3,7 @@
 #include "Cluster/IDisplayClusterClusterManager.h"
 #include "Engine/World.h"
 #include "Game/IDisplayClusterGameManager.h"
+#include "GameFramework/InputSettings.h"
 #include "GameFramework/WorldSettings.h"
 #include "Input/IDisplayClusterInputManager.h"
 #include "Kismet/GameplayStatics.h"
@@ -81,6 +82,10 @@ void                    AVirtualRealityPawn::BeginPlay                  ()
 {
   Super::BeginPlay();
   
+  bUseControllerRotationYaw   = true;
+  bUseControllerRotationPitch = true;
+  bUseControllerRotationRoll  = true;
+  
   // Display cluster settings apply to all setups (PC, HMD, CAVE/ROLV) despite the unfortunate name due to being an UE4 internal.
   TArray<AActor*> SettingsActors;
   UGameplayStatics::GetAllActorsOfClass(GetWorld(), ADisplayClusterSettings::StaticClass(), SettingsActors);
@@ -95,7 +100,10 @@ void                    AVirtualRealityPawn::BeginPlay                  ()
   }
 
   if      (IDisplayCluster::Get().GetOperationMode() == EDisplayClusterOperationMode::Cluster)
-  { 
+  {
+    UInputSettings::GetInputSettings()->RemoveAxisMapping(FInputAxisKeyMapping(FName(TEXT("TurnRate"  )), EKeys::MouseX));
+    UInputSettings::GetInputSettings()->RemoveAxisMapping(FInputAxisKeyMapping(FName(TEXT("LookUpRate")), EKeys::MouseY));
+
     // Requires a scene node called flystick in the config.
     Flystick  = IDisplayCluster::Get().GetGameMgr()->GetNodeById(TEXT("flystick"));
 
@@ -103,8 +111,11 @@ void                    AVirtualRealityPawn::BeginPlay                  ()
     LeftHand  = Flystick;
     RightHand = Flystick;
   }
-  else if (UHeadMountedDisplayFunctionLibrary::IsHeadMountedDisplayEnabled())
+  else if (UHeadMountedDisplayFunctionLibrary::IsHeadMountedDisplayConnected())
   {
+    UInputSettings::GetInputSettings()->RemoveAxisMapping(FInputAxisKeyMapping(FName(TEXT("TurnRate"  )), EKeys::MouseX));
+    UInputSettings::GetInputSettings()->RemoveAxisMapping(FInputAxisKeyMapping(FName(TEXT("LookUpRate")), EKeys::MouseY));
+
     LeftMotionController ->SetVisibility(true);
     RightMotionController->SetVisibility(true);
     
@@ -114,10 +125,6 @@ void                    AVirtualRealityPawn::BeginPlay                  ()
   }
   else
   {
-    bUseControllerRotationYaw   = true;
-    bUseControllerRotationPitch = true;
-    bUseControllerRotationRoll  = true;
-    
     Forward   = RootComponent;
     LeftHand  = RootComponent;
     RightHand = RootComponent;