diff --git a/src/environment.cpp b/src/environment.cpp
index 020d2b43377f7c80ef27b52aa720a485d7c4866e..3f94484fe41610c69c6652e8ca1e7b16074d5540 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -804,7 +804,8 @@ void ServerEnvironment::activateBlock(MapBlock *block, u32 additional_dtime)
 				i = elapsed_timers.begin();
 				i != elapsed_timers.end(); i++){
 			n = block->getNodeNoEx(i->first);
-			if(scriptapi_node_on_timer(m_lua,i->first,n,i->second.elapsed))
+			v3s16 p = i->first + block->getPosRelative();
+			if(scriptapi_node_on_timer(m_lua,p,n,i->second.elapsed))
 				block->setNodeTimer(i->first,NodeTimer(i->second.timeout,0));
 		}
 	}