Full reauthentication after server-side session expiration
diff --git a/org.eclipse.userstorage/src/org/eclipse/userstorage/internal/Session.java b/org.eclipse.userstorage/src/org/eclipse/userstorage/internal/Session.java
index 7032a65..eed0bf7 100644
--- a/org.eclipse.userstorage/src/org/eclipse/userstorage/internal/Session.java
+++ b/org.eclipse.userstorage/src/org/eclipse/userstorage/internal/Session.java
@@ -409,7 +409,8 @@
               if (authenticated)
               {
                 // This means that the initial authenticate() call was skipped because we already have a session,
-                // but this session is no longer valid on the server. So reset() to force a full reauthentication.
+                // but this session is no longer valid on the server.
+                // So call reset() to force a full reauthentication with initial credentials.
                 reset();
                 continue;
               }
@@ -417,6 +418,7 @@
               if (--authenticationAttempts > 0)
               {
                 reauthentication = true;
+                credentials = null;
                 continue;
               }
             }
@@ -426,8 +428,6 @@
         }
         finally
         {
-          credentials = null;
-
           IOUtil.closeSilent(body);
           body = null;
         }