diff --git a/src/k_kart.c b/src/k_kart.c
index 19989c7317d794040b6cd141e18d3677c4f15be6..da3abb3f215f0e8e225741f18a280e8b4e547d01 100644
--- a/src/k_kart.c
+++ b/src/k_kart.c
@@ -10429,7 +10429,15 @@ static INT16 K_GetKartDriftValue(const player_t *player, fixed_t countersteer)
 	}
 #endif
 
-	return basedrift + FixedMul(driftadjust, countersteer);
+	// Compat level for 2.0 staff ghosts
+	if (G_CompatLevel(0x000A))
+	{
+		return basedrift + (FixedMul(driftadjust * FRACUNIT, countersteer) / FRACUNIT);
+	}
+	else
+	{
+		return basedrift + FixedMul(driftadjust, countersteer);
+	}
 }
 
 INT16 K_UpdateSteeringValue(INT16 inputSteering, INT16 destSteering)