diff --git a/src/environment.cpp b/src/environment.cpp
index 8ade7fe05a3f40d4388697ed4646e1b887592560..e353a16f25b27b8dc3371949c610eafee3c9b2cc 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -1238,7 +1238,7 @@ void ServerEnvironment::step(float dtime)
 			// Read messages from object
 			while(!obj->m_messages_out.empty())
 			{
-				m_active_object_messages.push_back(
+				m_active_object_messages_queue.push(
 						obj->m_messages_out.front());
 				obj->m_messages_out.pop();
 			}
@@ -1458,11 +1458,11 @@ void ServerEnvironment::getRemovedActiveObjects(v3s16 pos, s16 radius,
 
 ActiveObjectMessage ServerEnvironment::getActiveObjectMessage()
 {
-	if(m_active_object_messages.empty())
+	if(m_active_object_messages_queue.empty())
 		return ActiveObjectMessage(0);
 
-	ActiveObjectMessage message = m_active_object_messages.front();
-	m_active_object_messages.pop_front();
+	ActiveObjectMessage message = m_active_object_messages_queue.front();
+	m_active_object_messages_queue.pop();
 	return message;
 }
 
diff --git a/src/environment.h b/src/environment.h
index 415a9ec31a208c524e82f1b72f3d1b23d9050908..e0d8d4328d6acad21618e2986e697417b2175795 100644
--- a/src/environment.h
+++ b/src/environment.h
@@ -33,6 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <set>
 #include <list>
 #include <map>
+#include <queue>
 #include "irr_v3d.h"
 #include "activeobject.h"
 #include "util/numeric.h"
@@ -378,7 +379,7 @@ class ServerEnvironment : public Environment
 	// Active object list
 	std::map<u16, ServerActiveObject*> m_active_objects;
 	// Outgoing network message buffer for active objects
-	std::list<ActiveObjectMessage> m_active_object_messages;
+	std::queue<ActiveObjectMessage> m_active_object_messages_queue;
 	// Some timers
 	float m_send_recommended_timer;
 	IntervalLimiter m_object_management_interval;