diff --git a/src/player.cpp b/src/player.cpp
index 3ee34d41f0b594124df8e2dc337878f0a2f17c57..dd5e045093c0660c6387ff9f7291989a8c131660 100644
--- a/src/player.cpp
+++ b/src/player.cpp
@@ -261,6 +261,23 @@ void Player::clearHud()
 	}
 }
 
+RemotePlayer::RemotePlayer(IGameDef *gamedef, const char *name):
+	Player(gamedef, name),
+	m_sao(NULL)
+{
+	movement_acceleration_default   = g_settings->getFloat("movement_acceleration_default")   * BS;
+	movement_acceleration_air       = g_settings->getFloat("movement_acceleration_air")       * BS;
+	movement_acceleration_fast      = g_settings->getFloat("movement_acceleration_fast")      * BS;
+	movement_speed_walk             = g_settings->getFloat("movement_speed_walk")             * BS;
+	movement_speed_crouch           = g_settings->getFloat("movement_speed_crouch")           * BS;
+	movement_speed_fast             = g_settings->getFloat("movement_speed_fast")             * BS;
+	movement_speed_climb            = g_settings->getFloat("movement_speed_climb")            * BS;
+	movement_speed_jump             = g_settings->getFloat("movement_speed_jump")             * BS;
+	movement_liquid_fluidity        = g_settings->getFloat("movement_liquid_fluidity")        * BS;
+	movement_liquid_fluidity_smooth = g_settings->getFloat("movement_liquid_fluidity_smooth") * BS;
+	movement_liquid_sink            = g_settings->getFloat("movement_liquid_sink")            * BS;
+	movement_gravity                = g_settings->getFloat("movement_gravity")                * BS;
+}
 
 void RemotePlayer::save(std::string savedir)
 {
diff --git a/src/player.h b/src/player.h
index c112618761d50572c5cc35ca792d9077d0faa0ad..48b0a499938b0206e2682b7527f78d275ec4a5f6 100644
--- a/src/player.h
+++ b/src/player.h
@@ -424,10 +424,7 @@ class Player
 class RemotePlayer : public Player
 {
 public:
-	RemotePlayer(IGameDef *gamedef, const char *name):
-		Player(gamedef, name),
-		m_sao(NULL)
-	{}
+	RemotePlayer(IGameDef *gamedef, const char *name);
 	virtual ~RemotePlayer() {}
 
 	void save(std::string savedir);