diff --git a/src/network/connection.h b/src/network/connection.h
index b1f9e70a8a5a68d6fdc857ac843d877e63d7540e..c48da2c70b50b7a248eb6751e334098e5ba7db3d 100644
--- a/src/network/connection.h
+++ b/src/network/connection.h
@@ -1053,7 +1053,11 @@ class Connection
 	void PrintInfo(std::ostream &out);
 	void PrintInfo();
 
-	std::list<u16> getPeerIDs() { return m_peer_ids; }
+	std::list<u16> getPeerIDs()
+	{
+		JMutexAutoLock peerlock(m_peers_mutex);
+		return m_peer_ids;
+	}
 
 	UDPSocket m_udpSocket;
 	MutexedQueue<ConnectionCommand> m_command_queue;