diff --git a/src/p_map.c b/src/p_map.c
index 2c17a58c6d394a36e2561f03a2d7bf1c4f9e0a6d..27d5ea7810e2d630ef1aad9647e8379168f63887 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -3521,11 +3521,9 @@ static void PTR_GlideClimbTraverse(line_t *li)
 			if (fofline)
 				whichside = 0;
 
-			if (!whichside)
-			{
-				slidemo->player->lastsidehit = checkline->sidenum[whichside];
-				slidemo->player->lastlinehit = (INT16)(checkline - lines);
-			}
+                        // Even if you attach to the second side of a linedef, we want to know the last hit.
+			slidemo->player->lastsidehit = checkline->sidenum[whichside];
+			slidemo->player->lastlinehit = (INT16)(checkline - lines);
 
 			P_Thrust(slidemo, slidemo->angle, FixedMul(5*FRACUNIT, slidemo->scale));
 		}