--------------- src/libs/plugins/backends/aqhbci/banking/user.c ---------------
index 1b6b04c4..2e1c5d18 100644
@@ -2135,6 +2135,7 @@ int AH_User_VerifyInitialKey(GWEN_CRYPT_TOKEN *ct,
   uint32_t keyHashLen;
   char hashString[1024];
   int rv;
+  int i;


   /* check if NOTEPAD contained a key hash */
@@ -2227,9 +2228,14 @@ int AH_User_VerifyInitialKey(GWEN_CRYPT_TOKEN *ct,
     GWEN_Buffer_free(keyBuffer);
   }

+  memset(hashString, 0, 1024);
+  for (i=0; i<GWEN_MDigest_GetDigestSize(md); i++)
+    sprintf(hashString+3*i, "%02x ", *(mdPtr+i));
+  DBG_INFO(AQHBCI_LOGDOMAIN, "Key Hash from the Bank Public %s key: Hash Length: %d, Hash: %s", keyName, keyHashLen,
+             hashString);
+
   if (canVerifyWithHash) {

-    int i;
     uint16_t matchingBytes=keySize;

     char cardHashString[1024];
@@ -2239,13 +2245,8 @@ int AH_User_VerifyInitialKey(GWEN_CRYPT_TOKEN *ct,
     memset(cardHashString, 0, 1024);
     for (i=0; i<keyHashLen; i++)
       sprintf(cardHashString+3*i, "%02x ", keyHash[i]);
-    DBG_INFO(AQHBCI_LOGDOMAIN, "Key Hash on the Card: Hash Length: %d, Hash: %s", keyHashLen, hashString);
+    DBG_INFO(AQHBCI_LOGDOMAIN, "Key Hash on the Card: Hash Length: %d, Hash: %s", keyHashLen, cardHashString);

-    memset(hashString, 0, 1024);
-    for (i=0; i<GWEN_MDigest_GetDigestSize(md); i++)
-      sprintf(hashString+3*i, "%02x ", *(mdPtr+i));
-    DBG_INFO(AQHBCI_LOGDOMAIN, "Key Hash from the Bank Public %s key: Hash Length: %d, Hash: %s", keyName, keyHashLen,
-             hashString);

     if (keyHashLen==mdSize) {
       for (i = 0; i < mdSize; i++) {
@@ -2367,7 +2368,7 @@ int AH_User_VerifyInitialKey(GWEN_CRYPT_TOKEN *ct,
     snprintf(numBuf, sizeof(numBuf), "%d",
              keyNum);
     GWEN_Buffer_AppendString(msgBuffer, numBuf);
-    GWEN_Buffer_AppendString(msgBuffer, "Key Version: ");
+    GWEN_Buffer_AppendString(msgBuffer, "\nKey Version: ");
     snprintf(numBuf, sizeof(numBuf), "%d",
              keyNum);
     GWEN_Buffer_AppendString(msgBuffer, numBuf);
@@ -2375,7 +2376,7 @@ int AH_User_VerifyInitialKey(GWEN_CRYPT_TOKEN *ct,
     snprintf(numBuf, sizeof(numBuf), "%d",
              mdSize);
     GWEN_Buffer_AppendString(msgBuffer, numBuf);
-    GWEN_Buffer_AppendString(msgBuffer, "Hash Value ");
+    GWEN_Buffer_AppendString(msgBuffer, ", value ");
     if (keyHashAlgo==GWEN_Crypt_HashAlgoId_Sha256) {
       /*SHA256*/
       GWEN_Buffer_AppendString(msgBuffer, "(SHA256):\n");

---------- src/libs/plugins/backends/aqhbci/dialogs/dlg_newkeyfile.c ----------
index e7dcd931..b55240f8 100644
@@ -97,6 +97,7 @@ GWEN_DIALOG *AH_NewKeyFileDialog_new(AB_PROVIDER *pro)
   /* preset */
   xdlg->hbciVersion=210;
   xdlg->rdhVersion=0;
+  xdlg->cryptMode = AH_CryptMode_Rdh;

   /* done */
   return dlg;
@@ -873,7 +874,8 @@ int AH_NewKeyFileDialog_DoIt(GWEN_DIALOG *dlg)
   AH_User_SetTokenType(u, "ohbci");
   AH_User_SetTokenName(u, AH_NewKeyFileDialog_GetFileName(dlg));
   AH_User_SetTokenContextId(u, 1);
-  AH_User_SetCryptMode(u, AH_CryptMode_Rdh);
+  //AH_User_SetCryptMode(u, AH_CryptMode_Rdh);
+  AH_User_SetCryptMode(u, xdlg->cryptMode);
   AH_User_SetStatus(u, AH_UserStatusPending);
   AH_User_SetHbciVersion(u, xdlg->hbciVersion);
   AH_User_SetRdhType(u, xdlg->rdhVersion);
@@ -1301,6 +1303,7 @@ int AH_NewKeyFileDialog_HandleActivatedSpecial(GWEN_DIALOG *dlg)
   else {
     xdlg->hbciVersion=AH_RdhSpecialDialog_GetHbciVersion(dlg2);
     xdlg->rdhVersion=AH_RdhSpecialDialog_GetRdhVersion(dlg2);
+    xdlg->cryptMode=AH_RdhSpecialDialog_GetCryptMode(dlg2);
     xdlg->flags=AH_RdhSpecialDialog_GetFlags(dlg2);
   }


--------- src/libs/plugins/backends/aqhbci/dialogs/dlg_newkeyfile_p.h ---------
index 4827d076..18e7f6da 100644
@@ -33,6 +33,7 @@ struct AH_NEWKEYFILE_DIALOG {

   int hbciVersion;
   int rdhVersion;
+  int cryptMode;

   uint32_t flags;

