diff --git a/src/gui/TotpSetupDialog.cpp b/src/gui/TotpSetupDialog.cpp
index 1d403a17c..875dfcfd0 100644
--- a/src/gui/TotpSetupDialog.cpp
+++ b/src/gui/TotpSetupDialog.cpp
@@ -29,6 +29,7 @@ TotpSetupDialog::TotpSetupDialog(QWidget* parent, Entry* entry)
{
m_ui->setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
+ setWindowFlag(Qt::WindowContextHelpButtonHint, false);
setFixedSize(sizeHint());
connect(m_ui->buttonBox, SIGNAL(rejected()), SLOT(close()));
diff --git a/src/gui/TotpSetupDialog.ui b/src/gui/TotpSetupDialog.ui
index 5088d8bbf..ab15b8ea8 100644
--- a/src/gui/TotpSetupDialog.ui
+++ b/src/gui/TotpSetupDialog.ui
@@ -163,7 +163,7 @@
1
- 60
+ 86400
30
diff --git a/src/totp/totp.cpp b/src/totp/totp.cpp
index 82d9bb832..dc58f158d 100644
--- a/src/totp/totp.cpp
+++ b/src/totp/totp.cpp
@@ -114,7 +114,7 @@ QSharedPointer Totp::parseSettings(const QString& rawSettings, c
// Bound digits and step
settings->digits = qBound(1u, settings->digits, 10u);
- settings->step = qBound(1u, settings->step, 60u);
+ settings->step = qBound(1u, settings->step, 86400u);
// Detect custom settings, used by setup GUI
if (settings->encoder.shortName.isEmpty()
diff --git a/tests/TestTotp.cpp b/tests/TestTotp.cpp
index b83e7d296..bb3b55dbd 100644
--- a/tests/TestTotp.cpp
+++ b/tests/TestTotp.cpp
@@ -59,6 +59,12 @@ void TestTotp::testParseSecret()
QCOMPARE(settings->step, 30u);
QCOMPARE(settings->algorithm, Totp::Algorithm::Sha512);
+ // Max TOTP step of 24-hours
+ secret.replace("period=30", "period=90000");
+ settings = Totp::parseSettings(secret);
+ QVERIFY(!settings.isNull());
+ QCOMPARE(settings->step, 86400u);
+
// KeeOTP Parsing
secret = "key=HXDMVJECJJWSRBY%3d&step=25&size=8&otpHashMode=Sha256";
settings = Totp::parseSettings(secret);