diff --git a/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java b/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java
index ffe283a75ef0b74405ed113c0587fac866cc4b8c..d8a2e3a1f35379aa47c7d43655208497e770586b 100644
--- a/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java
+++ b/router/java/src/net/i2p/router/transport/udp/OutboundEstablishState2.java
@@ -124,11 +124,11 @@ class OutboundEstablishState2 extends OutboundEstablishState implements SSU2Payl
     public synchronized void restart(long token) {
         _token = token;
         HandshakeState old = _handshakeState;
-        byte[] pub = new byte[32];
-        old.getRemotePublicKey().getPublicKey(pub, 0);
-        createNewState(_routerAddress);
-        if (old != null)
+        if (old != null) {
+            // TODO pass the old keys over to createNewState()
             old.destroy();
+        }
+        createNewState(_routerAddress);
         //_rcvHeaderEncryptKey2 will be set after the Session Request message is created
         _rcvHeaderEncryptKey2 = null;
     }
diff --git a/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java b/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java
index 03c7036db5492df222495c08cf01138d56d0aa7f..91cf5c8e0f85c5e800dead8fc20b3ec4cd532d30 100644
--- a/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java
+++ b/router/java/src/net/i2p/router/transport/udp/PacketBuilder2.java
@@ -283,7 +283,7 @@ class PacketBuilder2 {
      */
     public UDPPacket buildTokenRequestPacket(OutboundEstablishState2 state) {
         long n = _context.random().signedNextInt() & 0xFFFFFFFFL;
-        UDPPacket packet = buildLongPacketHeader(state.getSendConnID(), n, SESSION_REQUEST_FLAG_BYTE,
+        UDPPacket packet = buildLongPacketHeader(state.getSendConnID(), n, TOKEN_REQUEST_FLAG_BYTE,
                                                  state.getRcvConnID(), 0);
         DatagramPacket pkt = packet.getPacket();