diff --git a/AGHTechDoc.md b/AGHTechDoc.md
index f4e4d4c7..167b9caa 100644
--- a/AGHTechDoc.md
+++ b/AGHTechDoc.md
@@ -250,6 +250,8 @@ Example of version.json data:
 	"selfupdate_min_version": "v0.0"
 	}
 
+Server can only auto-update if the current version is equal or higher than `selfupdate_min_version`.
+
 Request:
 
 	GET /control/version.json
diff --git a/control_update.go b/control_update.go
index 987457da..563c5d0f 100644
--- a/control_update.go
+++ b/control_update.go
@@ -34,13 +34,14 @@ func getVersionResp(data []byte) []byte {
 	ret["new_version"], ok1 = versionJSON["version"].(string)
 	ret["announcement"], ok2 = versionJSON["announcement"].(string)
 	ret["announcement_url"], ok3 = versionJSON["announcement_url"].(string)
-	if !ok1 || !ok2 || !ok3 {
+	selfUpdateMinVersion, ok4 := versionJSON["selfupdate_min_version"].(string)
+	if !ok1 || !ok2 || !ok3 || !ok4 {
 		log.Error("version.json: invalid data")
 		return []byte{}
 	}
 
 	_, ok := versionJSON[fmt.Sprintf("download_%s_%s", runtime.GOOS, runtime.GOARCH)]
-	if ok && ret["new_version"] != VersionString {
+	if ok && ret["new_version"] != VersionString && VersionString >= selfUpdateMinVersion {
 		ret["can_autoupdate"] = true
 	}