diff --git a/src/server.cpp b/src/server.cpp
index bf48a40d55fa33b2244834595700365afef5b4f1..40a4f8a024bd675bfc70d9d091cf580be38add00 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -5077,6 +5077,9 @@ PlayerSAO* Server::emergePlayer(const char *name, u16 peer_id)
 			getPlayerEffectivePrivs(player->getName()),
 			isSingleplayer());
 
+	/* Clean up old HUD elements from previous sessions */
+	player->hud.clear();
+
 	/* Add object to environment */
 	m_env->addActiveObject(playersao);