diff --git a/src/receive.go b/src/receive.go
index 3e649b6..f2bf70b 100644
--- a/src/receive.go
+++ b/src/receive.go
@@ -356,6 +356,12 @@ func (device *Device) RoutineHandshake() {
 					return
 				}
 
+				// update endpoint
+
+				peer.mutex.Lock()
+				peer.endpoint = elem.source
+				peer.mutex.Unlock()
+
 				// create response
 
 				response, err := device.CreateMessageResponse(peer)