diff --git a/core/java/src/net/i2p/client/I2PSessionImpl.java b/core/java/src/net/i2p/client/I2PSessionImpl.java
index d0ed301380f3aa036124a255527b242152ce5ec2..7fd17597854bc5704b3fb582be78a9a2a3071d83 100644
--- a/core/java/src/net/i2p/client/I2PSessionImpl.java
+++ b/core/java/src/net/i2p/client/I2PSessionImpl.java
@@ -899,6 +899,8 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
      * Close the socket carefully.
      */
     private void closeSocket() {
+        if (_log.shouldLog(Log.INFO))
+            _log.info(getPrefix() + "Closing the socket", new Exception("closeSocket"));
         synchronized(_stateLock) {
             changeState(State.CLOSING);
             locked_closeSocket();
@@ -911,7 +913,6 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
      * Caller must change state.
      */
     private void locked_closeSocket() {
-        if (_log.shouldLog(Log.INFO)) _log.info(getPrefix() + "Closing the socket", new Exception("closeSocket"));
         if (_reader != null) {
             _reader.stopReading();
             _reader = null;