diff --git a/lib/net/tcp.js b/lib/net/tcp.js
index <HASH>..<HASH> 100644
--- a/lib/net/tcp.js
+++ b/lib/net/tcp.js
@@ -105,6 +105,17 @@ class Peer {
 	constructor(transport) {
 		this.transport = transport;
 		this.events = new EventEmitter2();
+
+		// Reply to hello messages with our metadata
+		this.events.on('hello', msg => {
+			this.id = msg.id;
+			this.version = msg.version;
+
+			this.write('metadata', {
+				id: this.transport.id,
+				version: 1
+			});
+		});
 	}
 
 	setSocket(s) {
@@ -125,17 +136,6 @@ class Peer {
 			this.events.emit(type, payload);
 		});
 
-		// Reply to hello messages with our metadata
-		this.events.on('hello', msg => {
-			this.id = msg.id;
-			this.version = msg.version;
-
-			this.write('metadata', {
-				id: this.transport.id,
-				version: 1
-			});
-		});
-
 		return this.negotiate();
 	}
Only register a single hello event handler