diff --git a/Elwig/App.xaml.cs b/Elwig/App.xaml.cs
index 6aaf889..9bc1871 100644
--- a/Elwig/App.xaml.cs
+++ b/Elwig/App.xaml.cs
@@ -32,13 +32,13 @@ namespace Elwig {
         }
 
         protected override void OnStartup(StartupEventArgs evt) {
-            IEnumerable<string> branches = Array.Empty<string>();
+            Dictionary<string, string> branches = new();
             using (var ctx = new AppDbContext()) {
                 if (!ctx.Database.CanConnect()) {
                     MessageBox.Show($"Invalid Database:\n\n{Config.DatabaseFile}", "Invalid Database", MessageBoxButton.OK, MessageBoxImage.Error);
                     Shutdown();
                 } else {
-                    branches = ctx.Branches.Select(b => b.ZwstId).ToList();
+                    branches = ctx.Branches.ToDictionary(b => b.Name.ToLower(), b => b.ZwstId);
                 }
             }
             Utils.RunBackground("HTML Initialization", () => Documents.Html.Init(PrintingReadyChanged));
@@ -67,15 +67,15 @@ namespace Elwig {
             }
             Scales = list;
 
-            if (Config.ZwstId != null) {
-                if (!branches.Contains(Config.ZwstId)) {
-                    MessageBox.Show("Invalid branch id in config!", "Invalid Branch Config", MessageBoxButton.OK, MessageBoxImage.Error);
+            if (Config.Branch != null) {
+                if (!branches.ContainsKey(Config.Branch.ToLower())) {
+                    MessageBox.Show("Invalid branch name in config!", "Invalid Branch Config", MessageBoxButton.OK, MessageBoxImage.Error);
                     Shutdown();
                 } else {
-                    ZwstId = Config.ZwstId;
+                    ZwstId = branches[Config.Branch.ToLower()];
                 }
-            } else if (branches.Count() == 1) {
-                ZwstId = branches.First();
+            } else if (branches.Count == 1) {
+                ZwstId = branches.First().Value;
             } else {
                 MessageBox.Show("Unable to determine local branch!", "Invalid Branch Config", MessageBoxButton.OK, MessageBoxImage.Error);
                 Shutdown();
diff --git a/Elwig/Helpers/Config.cs b/Elwig/Helpers/Config.cs
index ebf2024..5d84f2d 100644
--- a/Elwig/Helpers/Config.cs
+++ b/Elwig/Helpers/Config.cs
@@ -11,7 +11,7 @@ namespace Elwig.Helpers {
         private readonly string FileName;
         public string DatabaseFile = App.DataPath + "database.sqlite3";
         public string? DatabaseLog = null;
-        public string? ZwstId = null;
+        public string? Branch = null;
         public IEnumerable<string[]> Scales;
         private readonly LinkedList<string[]> ScaleList = new();
 
@@ -45,9 +45,9 @@ namespace Elwig.Helpers {
             }
 
             if (ini == null || !ini.TryGetKey("general.branch", out string branch)) {
-                ZwstId = null;
+                Branch = null;
             } else {
-                ZwstId = branch;
+                Branch = branch;
             }
 
             ScaleList.Clear();