diff --git a/routers/repo/setting.go b/routers/repo/setting.go
index e74cfe2171..5e9e24f9f2 100644
--- a/routers/repo/setting.go
+++ b/routers/repo/setting.go
@@ -117,7 +117,7 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
 		}
 
 		interval, err := time.ParseDuration(form.Interval)
-		if err != nil && (interval != 0 || interval < setting.Mirror.MinInterval) {
+		if err != nil || (interval != 0 && interval < setting.Mirror.MinInterval) {
 			ctx.RenderWithErr(ctx.Tr("repo.mirror_interval_invalid"), tplSettingsOptions, &form)
 		} else {
 			ctx.Repo.Mirror.EnablePrune = form.EnablePrune