diff --git a/clients/src/main/java/org/apache/kafka/common/security/authenticator/AbstractLogin.java b/clients/src/main/java/org/apache/kafka/common/security/authenticator/AbstractLogin.java
index da381421dcca4..7d1e8ab58e11c 100644
--- a/clients/src/main/java/org/apache/kafka/common/security/authenticator/AbstractLogin.java
+++ b/clients/src/main/java/org/apache/kafka/common/security/authenticator/AbstractLogin.java
@@ -76,6 +76,10 @@ protected Configuration configuration() {
         return configuration;
     }
 
+    protected AuthenticateCallbackHandler getLoginCallbackHandler() {
+        return this.loginCallbackHandler;
+    }
+
     /**
      * Callback handler for creating login context. Login callback handlers
      * should support the callbacks required for the login modules used by
diff --git a/clients/src/main/java/org/apache/kafka/common/security/kerberos/KerberosLogin.java b/clients/src/main/java/org/apache/kafka/common/security/kerberos/KerberosLogin.java
index cbe4fd6e96d83..e8656da64d9b1 100644
--- a/clients/src/main/java/org/apache/kafka/common/security/kerberos/KerberosLogin.java
+++ b/clients/src/main/java/org/apache/kafka/common/security/kerberos/KerberosLogin.java
@@ -370,7 +370,7 @@ protected void reLogin() throws LoginException {
             }
             //login and also update the subject field of this instance to
             //have the new credentials (pass it to the LoginContext constructor)
-            loginContext = new LoginContext(contextName(), subject, null, configuration());
+            loginContext = new LoginContext(contextName(), subject, getLoginCallbackHandler(), configuration());
             log.info("Initiating re-login for {}", principal);
             login(loginContext);
         }