diff --git a/Elwig/Documents/MemberDataSheet.cs b/Elwig/Documents/MemberDataSheet.cs
index b937d6d..7563e46 100644
--- a/Elwig/Documents/MemberDataSheet.cs
+++ b/Elwig/Documents/MemberDataSheet.cs
@@ -15,7 +15,7 @@ namespace Elwig.Documents {
         public MemberDataSheet(Member m, AppDbContext ctx) : base($"{Name} {m.AdministrativeName}", m) {
             DocumentId = $"{Name} {m.MgNr}";
             Season = ctx.Seasons.ToList().MaxBy(s => s.Year) ?? throw new ArgumentException("invalid season");
-            MemberBuckets = ctx.GetMemberBuckets(Season.Year, m.MgNr).GetAwaiter().GetResult();
+            MemberBuckets = ctx.GetMemberBuckets(Utils.CurrentYear, m.MgNr).GetAwaiter().GetResult();
         }
     }
 }
diff --git a/Elwig/Helpers/AppDbUpdater.cs b/Elwig/Helpers/AppDbUpdater.cs
index 2119147..ace01f5 100644
--- a/Elwig/Helpers/AppDbUpdater.cs
+++ b/Elwig/Helpers/AppDbUpdater.cs
@@ -9,7 +9,7 @@ namespace Elwig.Helpers {
     public static class AppDbUpdater {
 
         // Don't forget to update value in Tests/fetch-resources.bat!
-        public static readonly int RequiredSchemaVersion = 16;
+        public static readonly int RequiredSchemaVersion = 17;
 
         private static int VersionOffset = 0;
 
diff --git a/Elwig/Resources/Sql/16-17.sql b/Elwig/Resources/Sql/16-17.sql
new file mode 100644
index 0000000..51f454c
--- /dev/null
+++ b/Elwig/Resources/Sql/16-17.sql
@@ -0,0 +1,12 @@
+-- schema version 16 to 17
+
+CREATE VIEW v_virtual_season AS
+SELECT year, max_kg_per_ha
+FROM season
+UNION
+SELECT strftime('%Y', date()) + 0, (SELECT max_kg_per_ha FROM season ORDER BY year DESC LIMIT 1);
+
+PRAGMA writable_schema = ON;
+UPDATE sqlite_schema SET sql = REPLACE(sql, 'season s', 'v_virtual_season s')
+WHERE type = 'view' AND name = 'v_area_commitment_bucket_strict';
+PRAGMA writable_schema = OFF;
diff --git a/Elwig/Windows/AreaComAdminWindow.xaml.cs b/Elwig/Windows/AreaComAdminWindow.xaml.cs
index ab096a8..9a3d3a0 100644
--- a/Elwig/Windows/AreaComAdminWindow.xaml.cs
+++ b/Elwig/Windows/AreaComAdminWindow.xaml.cs
@@ -16,21 +16,21 @@ namespace Elwig.Windows {
         public int MgNr => Member.MgNr;
 
         private readonly Member Member;
-        private List<string> TextFilter = new();
+        private List<string> TextFilter = [];
 
         public AreaComAdminWindow(int mgnr) {
             InitializeComponent();
             Member = Context.Members.Find(mgnr) ?? throw new ArgumentException("MgNr argument has invalid value");
             Title = $"Flächenbindungen - {Member.AdministrativeName} - Elwig";
-            ExemptInputs = new Control[] {
+            ExemptInputs = [
                 MgNrInput, AreaCommitmentList, NewAreaCommitmentButton, 
                 EditAreaCommitmentButton, DeleteAreaCommitmentButton, AreaCommitmentSaveButton,
                 AreaCommitmentResetButton, AreaCommitmentCancelButton, SearchInput, ActiveAreaCommitmentInput
-            };
-            RequiredInputs = new Control[] {
+            ];
+            RequiredInputs = [
                 FbNrInput, YearFromInput, KgInput, RdInput,
                 GstNrInput, AreaInput.TextBox, AreaComTypeInput, WineCultivationInput
-            };
+            ];
         }
 
         private void Window_Loaded(object sender, RoutedEventArgs e) {
@@ -76,10 +76,10 @@ namespace Elwig.Windows {
         }
 
         private async Task<(List<string>, IQueryable<AreaCom>, List<string>)> GetFilters() {
-            List<string> filterNames = new();
+            List<string> filterNames = [];
             IQueryable<AreaCom> areaComQuery = Context.AreaCommitments.Where(a => a.MgNr == Member.MgNr).OrderBy(a => a.FbNr);
             if (ActiveAreaCommitmentInput.IsChecked == true) {
-                areaComQuery = areaComQuery.Where(a => (a.YearFrom <= Utils.CurrentNextSeason) && (a.YearTo == null || a.YearTo >= Utils.CurrentNextSeason));
+                areaComQuery = areaComQuery.Where(a => (a.YearFrom <= Utils.CurrentYear) && (a.YearTo == null || a.YearTo >= Utils.CurrentYear));
                 filterNames.Add("aktiv");
             }
 
@@ -151,7 +151,7 @@ namespace Elwig.Windows {
             YearToInput.Text = a.YearTo.ToString();
 
             KgInput.SelectedItem = a.Kg.AtKg;
-            RdInput.SelectedItem = a.Rd;
+            RdInput.SelectedItem = a.Rd ?? RdInput.Items[0];
             GstNrInput.Text = a.GstNr;
             AreaInput.Text = a.Area.ToString();
 
@@ -230,8 +230,8 @@ namespace Elwig.Windows {
             a.RdNr = RdInput.SelectedItem.GetType() == typeof(NullItem) ? null : ((WbRd)RdInput.SelectedItem).RdNr;
             a.GstNr = GstNrInput.Text;
             a.Area = int.Parse(AreaInput.Text);
-            a.VtrgId = (AreaComTypeInput.SelectedItem as AreaComType)?.VtrgId;
-            a.CultId = (WineCultivationInput.SelectedItem as WineCult)?.CultId;
+            a.VtrgId = (AreaComTypeInput.SelectedItem as AreaComType)!.VtrgId;
+            a.CultId = (WineCultivationInput.SelectedItem as WineCult)!.CultId;
             a.Comment = (CommentInput.Text == "") ? null : CommentInput.Text;
 
             EntityEntry<AreaCom>? tr = null;
@@ -275,7 +275,7 @@ namespace Elwig.Windows {
                 MessageBox.Show(str, "Flächenbindung aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
             }
 
-            return a;
+            return a!;
         }
 
         private async void AreaCommitmentSaveButton_Click(object sender, RoutedEventArgs evt) {
diff --git a/Tests/fetch-resources.bat b/Tests/fetch-resources.bat
index 05eb0dc..932cc08 100644
--- a/Tests/fetch-resources.bat
+++ b/Tests/fetch-resources.bat
@@ -1 +1 @@
-curl -s -L "https://www.necronda.net/elwig/files/create.sql?v=16" -u "elwig:ganzGeheim123!" -o "Resources\Sql\Create.sql"
+curl -s -L "https://www.necronda.net/elwig/files/create.sql?v=17" -u "elwig:ganzGeheim123!" -o "Resources\Sql\Create.sql"