diff --git a/src/k_follower.c b/src/k_follower.c
index 55f68fba37c53d5d7bf0872783644869c5cd9014..8e5fb1832102bb8172ff07627a47a5c1de2e38a4 100644
--- a/src/k_follower.c
+++ b/src/k_follower.c
@@ -360,7 +360,7 @@ void K_HandleFollower(player_t *player)
 
 	// don't do anything if we can't have a follower to begin with.
 	// (It gets removed under those conditions)
-	if (player->spectator || player->followerskin < 0 && !fallbackfollower
+	if (player->spectator || (player->followerskin < 0 && !fallbackfollower)
 	|| player->mo == NULL || P_MobjWasRemoved(player->mo))
 	{
 		if (player->follower)
diff --git a/src/k_kart.c b/src/k_kart.c
index 5954988227ef1c3f5fb7a552f3e73bd4ae643fd2..db6e35cb11b289531e567b1aa010fe3739be426c 100644
--- a/src/k_kart.c
+++ b/src/k_kart.c
@@ -12665,7 +12665,11 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
 						&& player->follower != NULL
 						&& P_MobjWasRemoved(player->follower) == false)
 					{
-						const follower_t *fl = &followers[player->followerskin];
+						const follower_t *fl = &followers[
+							player->followerskin == -1
+								? K_FollowerAvailable("Goddess")
+								: player->followerskin
+						];
 
 						ring->cusval = player->follower->x - player->mo->x;
 						ring->cvmem = player->follower->y - player->mo->y;