diff --git a/src/k_kart.c b/src/k_kart.c
index fe3b4ea8bc1b30deb085420cfad4a0f2710ded6f..cc4d78a353870fe1aca0ca9bbbe0347ab0c54d24 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)