diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi
index ee7b38f3f..71c79ef47 100644
--- a/html/cgi-bin/ovpnmain.cgi
+++ b/html/cgi-bin/ovpnmain.cgi
@@ -2655,7 +2655,7 @@ else
darkcolor => Imager::Color->new(0, 0, 0),
);
my $cn = $confighash{$cgiparams{'KEY'}}[2];
- my $secret = encode_base32($confighash{$cgiparams{'KEY'}}[44]);
+ my $secret = encode_base32(pack('H*', $confighash{$cgiparams{'KEY'}}[44]));
my $issuer = "$mainsettings{'HOSTNAME'}.$mainsettings{'DOMAINNAME'}";
my $qrcodeimg = $qrcode->plot("otpauth://totp/$cn?secret=$secret&issuer=$issuer");
my $qrcodeimgdata;