diff --git a/src/p_slopes.c b/src/p_slopes.c
index e93b0f6c993650043a1afe588c21aa1b64bbac37..bd0f15d2ead97e7e4d882beb254602718c3e6d4c 100644
--- a/src/p_slopes.c
+++ b/src/p_slopes.c
@@ -777,13 +777,13 @@ void P_SlopeLaunch(mobj_t *mo)
 		mo->momx = slopemom.x;
 		mo->momy = slopemom.y;
 		mo->momz = slopemom.z/2;
+		
+	    if (mo->player)
+		    mo->player->powers[pw_justlaunched] = 1;
 	}
 
 	//CONS_Printf("Launched off of slope.\n");
 	mo->standingslope = NULL;
-
-	if (mo->player)
-		mo->player->powers[pw_justlaunched] = 1;
 }
 
 //