diff --git a/src/server.cpp b/src/server.cpp
index a8eb68c55a95cc5d1fb9d1dd4f1424404d9cc32c..88cd7f342dd48eb8fbb08e7ce04da049eb937c1c 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -3198,6 +3198,9 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
 						mlist->addItem(item1);
 					}
 				}
+				// Disallow moving items if not allowed to build
+				else if((getPlayerPrivs(player) & PRIV_BUILD) == 0)
+					return;
 			}
 			
 			if(disable_action == false)