In this paper, the authors propose a novel load-balancing algorithm for managing virtual servers in a Peer-To-Peer (P2P) system through mobile agents. The proposed algorithm is implemented in a fully decentralized manner for a structured P2P system. It uses mobile agents and is independent of the geometry of the P2P auxiliary networks. The load-balancing algorithm effectively reduces the load imbalance of the system using the load per unit capacity derived by the mobile agents. A unique feature of the proposed algorithm is the mutual swapping of virtual servers between overloaded and under loaded peers to efficiently use the available resources.