diff --git a/cmds/updatemgr/scan.go b/cmds/updatemgr/scan.go
index 9ef29f15..e5458ee6 100644
--- a/cmds/updatemgr/scan.go
+++ b/cmds/updatemgr/scan.go
@@ -4,13 +4,14 @@ import (
 	"encoding/json"
 	"fmt"
 
+	"github.com/safing/portmaster/service/configure"
 	"github.com/safing/portmaster/service/updates"
 	"github.com/spf13/cobra"
 )
 
 var (
 	scanConfig = updates.IndexScanConfig{
-		Name:            "Portmaster Binaries",
+		Name:            configure.DefaultBinaryIndexName,
 		PrimaryArtifact: "linux_amd64/portmaster-core",
 		BaseURL:         "https://updates.safing.io/",
 		IgnoreFiles: []string{
diff --git a/service/config.go b/service/config.go
index 39ad2d03..bef4110e 100644
--- a/service/config.go
+++ b/service/config.go
@@ -115,7 +115,7 @@ func MakeUpdateConfigs(svcCfg *ServiceConfig) (binaryUpdateConfig, intelUpdateCo
 	switch runtime.GOOS {
 	case "windows":
 		binaryUpdateConfig = &updates.Config{
-			Name:              "binaries",
+			Name:              configure.DefaultBinaryIndexName,
 			Directory:         svcCfg.BinDir,
 			DownloadDirectory: filepath.Join(svcCfg.DataDir, "download_binaries"),
 			PurgeDirectory:    filepath.Join(svcCfg.BinDir, "upgrade_obsolete_binaries"),
@@ -130,7 +130,7 @@ func MakeUpdateConfigs(svcCfg *ServiceConfig) (binaryUpdateConfig, intelUpdateCo
 			Notify:            true,
 		}
 		intelUpdateConfig = &updates.Config{
-			Name:              "intel",
+			Name:              configure.DefaultIntelIndexName,
 			Directory:         filepath.Join(svcCfg.DataDir, "intel"),
 			DownloadDirectory: filepath.Join(svcCfg.DataDir, "download_intel"),
 			PurgeDirectory:    filepath.Join(svcCfg.DataDir, "upgrade_obsolete_intel"),
@@ -146,7 +146,7 @@ func MakeUpdateConfigs(svcCfg *ServiceConfig) (binaryUpdateConfig, intelUpdateCo
 
 	case "linux":
 		binaryUpdateConfig = &updates.Config{
-			Name:              "binaries",
+			Name:              configure.DefaultBinaryIndexName,
 			Directory:         svcCfg.BinDir,
 			DownloadDirectory: filepath.Join(svcCfg.DataDir, "download_binaries"),
 			PurgeDirectory:    filepath.Join(svcCfg.DataDir, "upgrade_obsolete_binaries"),
@@ -161,7 +161,7 @@ func MakeUpdateConfigs(svcCfg *ServiceConfig) (binaryUpdateConfig, intelUpdateCo
 			Notify:            true,
 		}
 		intelUpdateConfig = &updates.Config{
-			Name:              "intel",
+			Name:              configure.DefaultIntelIndexName,
 			Directory:         filepath.Join(svcCfg.DataDir, "intel"),
 			DownloadDirectory: filepath.Join(svcCfg.DataDir, "download_intel"),
 			PurgeDirectory:    filepath.Join(svcCfg.DataDir, "upgrade_obsolete_intel"),
diff --git a/service/configure/updates.go b/service/configure/updates.go
index 3fec4afc..0625ff26 100644
--- a/service/configure/updates.go
+++ b/service/configure/updates.go
@@ -5,6 +5,9 @@ import (
 )
 
 var (
+	DefaultBinaryIndexName = "Portmaster Binaries"
+	DefaultIntelIndexName  = "intel"
+
 	DefaultStableBinaryIndexURLs = []string{
 		"https://updates.safing.io/stable.v3.json",
 	}
diff --git a/service/updates/module.go b/service/updates/module.go
index b57830b2..6d815d13 100644
--- a/service/updates/module.go
+++ b/service/updates/module.go
@@ -18,6 +18,7 @@ import (
 	"github.com/safing/portmaster/base/log"
 	"github.com/safing/portmaster/base/notifications"
 	"github.com/safing/portmaster/base/utils"
+	"github.com/safing/portmaster/service/configure"
 	"github.com/safing/portmaster/service/mgr"
 )
 
@@ -201,11 +202,19 @@ func New(instance instance, name string, cfg Config) (*Updater, error) {
 		module.corruptedInstallation = fmt.Errorf("invalid index: %w", err)
 	}
 	index, err = GenerateIndexFromDir(cfg.Directory, IndexScanConfig{
+		Name:    configure.DefaultBinaryIndexName,
 		Version: info.VersionNumber(),
 	})
-	if err == nil && index.init(currentPlatform) == nil {
-		module.index = index
-		return module, nil
+	if err == nil {
+		// As the index is generated from the current directory,
+		// we must set the published date to a fixed point in the past.
+		// New indexes will only be considered if their published date is later than the current one.
+		index.Published = time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
+
+		if index.init(currentPlatform) == nil {
+			module.index = index
+			return module, nil
+		}
 	}
 
 	// Fall back to empty index.