diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f4e4ba17ddd383711fd91ff1b742b0ba2a051642..93d693e418fdde59a75556ec96d65e03313e3293 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -83,7 +83,7 @@ Generate_Project:
         RUN_SETUP: "false"
         GEN_DEPENDENCIES: "(
             [master@UnrealDTrackPlugin]='https://github.com/VRGroupRWTH/UnrealDTrackPlugin.git'
-            [5.4@RWTHVRCluster]='https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/rwth-vr-cluster-plugin.git'
+            [dev/5.4@RWTHVRCluster]='https://git-ce.rwth-aachen.de/vr-vis/VR-Group/unreal-development/plugins/rwth-vr-cluster-plugin.git'
             )"
 
 Generate_Project_Without_Cluster:
diff --git a/Source/RWTHVRToolkit/Private/Core/RWTHVRGameModeBase.cpp b/Source/RWTHVRToolkit/Private/Core/RWTHVRGameModeBase.cpp
index e2a1511392d96f9890bb52d309346d2465413593..9102b16012edc3c0c211e77fa3ec9e7f1b4f9520 100644
--- a/Source/RWTHVRToolkit/Private/Core/RWTHVRGameModeBase.cpp
+++ b/Source/RWTHVRToolkit/Private/Core/RWTHVRGameModeBase.cpp
@@ -143,6 +143,16 @@ void ARWTHVRGameModeBase::PostLogin(APlayerController* NewPlayer)
 			}
 		}
 
+		if (GetNetMode() == NM_Standalone)
+		{
+			const FName BaseName = PawnClass->HasAnyFlags(RF_ClassDefaultObject)
+				? PawnClass->GetFName()
+				: *PawnClass->GetFName().GetPlainNameString();
+
+			SpawnInfo.Name = BaseName;
+			SpawnInfo.NameMode = FActorSpawnParameters::ESpawnActorNameMode::Requested;
+		}
+
 		// Spawn and possess the pawn
 		APawn* ResultPawn = GetWorld()->SpawnActor<APawn>(PawnClass, StartSpot->GetTransform(), SpawnInfo);
 		NewPlayer->Possess(ResultPawn);
diff --git a/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp b/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp
index 810a6205268b8ebdec7ba7922d1ba697cbe96f88..812e83ea74b96709e72b7768dbbd5d90bc041f52 100644
--- a/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp
+++ b/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp
@@ -249,7 +249,7 @@ void ARWTHVRPawn::MulticastAddDCSyncComponent_Implementation()
 	// for some reason acts different on the nodes, therefore leading to a potential desync when
 	// e.g. colliding with an object while moving.
 
-	if (URWTHVRUtilities::IsRoomMountedMode())
+	if (URWTHVRUtilities::IsRoomMountedMode() && !SyncComponent)
 	{
 		SyncComponent = Cast<USceneComponent>(AddComponentByClass(
 			UDisplayClusterSceneComponentSyncParent::StaticClass(), false, FTransform::Identity, false));