diff --git a/src/sbbs3/answer.cpp b/src/sbbs3/answer.cpp
index 33bec20ff019318bedd53a1a59a083ff018a7644..f571d0d2170ed18b61120ec1b7928972513e29a0 100644
--- a/src/sbbs3/answer.cpp
+++ b/src/sbbs3/answer.cpp
@@ -79,8 +79,8 @@ check_pubkey(scfg_t *cfg, ushort unum, char *pkey, size_t pksz)
 						int pklen;
 						pklen = b64_decode(pk, sizeof(pk), tok, 0);
 						if (pklen > 0) {
-							if ((pksz - 4) == pklen) {
-								if (memcmp(&pkey[4], pk, (unsigned)pklen) == 0) {
+							if ((pksz - 4) == (unsigned)pklen) {
+								if (memcmp(&pkey[4], pk, pklen) == 0) {
 									fclose(sshkeys);
 									return true;
 								}