 +  // Show where Tux will land after using jump helper
 +  if (jump_helper_draw && Sector::current() && Sector::current()->camera) {
 +    float px = jump_helper_x + (get_bbox().p2.x - get_bbox().p1.x) / 2 - jumparrow.get()->get_width() / 2;
-+    float py = get_bbox().p1.y;
++    float py = get_bbox().p2.y - jumparrow.get()->get_height();
 +    context.draw_surface(jumparrow, Vector(px, py), LAYER_HUD - 1);
 +  }
 +
    std::string sa_prefix = "";
    std::string sa_postfix = "";
  
-@@ -1582,4 +1601,50 @@ Player::handle_input_climbing()
+@@ -1582,4 +1601,65 @@ Player::handle_input_climbing()
    physic.set_acceleration(0, 0);
  }
  

   }
 
   glViewport(m_viewport.x, m_viewport.y, m_viewport.w, m_viewport.h);
@@ -285,102 +269,9 @@ GLRenderer::apply_config()
 void
 GLRenderer::apply_video_mode()
 {

 
 const MenuItem&
diff --git a/src/object/player.cpp b/src/object/player.cpp
index c2bfb0e..f7ddd22 100644
--- a/src/object/player.cpp
+++ b/src/object/player.cpp
@@ -148,6 +148,7 @@ Player::Player(PlayerStatus* _player_status, const std::string& name_) :
