diff --git a/Elwig/Windows/MemberAdminWindow.xaml b/Elwig/Windows/MemberAdminWindow.xaml
index 40facf2..6f88854 100644
--- a/Elwig/Windows/MemberAdminWindow.xaml
+++ b/Elwig/Windows/MemberAdminWindow.xaml
@@ -410,7 +410,7 @@
                              TextChanged="TextBox_TextChanged"/>
 
                     <CheckBox x:Name="ActiveInput" Content="Aktiv" IsEnabled="False"
-                              Checked="CheckBox_Changed" Unchecked="CheckBox_Changed"
+                              Checked="ActiveInput_Changed" Unchecked="ActiveInput_Changed"
                               Grid.Column="2" HorizontalAlignment="Left" Margin="10,15,0,0" VerticalAlignment="Top" IsChecked="False"/>
 
                     <CheckBox x:Name="VollLieferantInput" Content="Volllieferant" IsEnabled="False"
diff --git a/Elwig/Windows/MemberAdminWindow.xaml.cs b/Elwig/Windows/MemberAdminWindow.xaml.cs
index 07f0012..84db95d 100644
--- a/Elwig/Windows/MemberAdminWindow.xaml.cs
+++ b/Elwig/Windows/MemberAdminWindow.xaml.cs
@@ -16,6 +16,7 @@ namespace Elwig.Windows {
     public partial class MemberAdminWindow : AdministrationWindow {
 
         protected bool TransferPredecessorAreaComs = false;
+        protected bool CancelAreaComs = false;
         protected List<string> TextFilter = [];
 
         private readonly (ComboBox Type, TextBox Number, TextBox Comment)[] PhoneNrInputs;
@@ -341,6 +342,7 @@ namespace Elwig.Windows {
             MemberList.IsEnabled = false;
             MemberList.SelectedItem = null;
             TransferPredecessorAreaComs = false;
+            CancelAreaComs = false;
             HideNewEditDeleteButtons();
             ShowSaveResetCancelButtons();
             UnlockInputs();
@@ -356,6 +358,7 @@ namespace Elwig.Windows {
             IsEditing = true;
             MemberList.IsEnabled = false;
             TransferPredecessorAreaComs = false;
+            CancelAreaComs = false;
 
             HideNewEditDeleteButtons();
             ShowSaveResetCancelButtons();
@@ -407,6 +410,7 @@ namespace Elwig.Windows {
 
         private void ResetButton_Click(object sender, RoutedEventArgs evt) {
             TransferPredecessorAreaComs = false;
+            CancelAreaComs = false;
             if (IsEditing) {
                 RefreshInputs();
             } else if (IsCreating) {
@@ -421,6 +425,7 @@ namespace Elwig.Windows {
             IsCreating = false;
             MemberList.IsEnabled = true;
             TransferPredecessorAreaComs = false;
+            CancelAreaComs = false;
             HideSaveResetCancelButtons();
             ShowNewEditDeleteButtons();
             RefreshInputs();
@@ -684,6 +689,19 @@ namespace Elwig.Windows {
             }
             TransferPredecessorAreaComs = false;
 
+            if (CancelAreaComs) {
+                var year = Utils.FollowingSeason;
+                var areaComs = await ctx.AreaCommitments
+                    .Where(c => c.MgNr == m.MgNr && (c.YearTo == null || c.YearTo >= year))
+                    .ToListAsync();
+
+                foreach (var ac in areaComs)
+                    ac.YearTo = year - 1;
+                ctx.UpdateRange(areaComs);
+                await ctx.SaveChangesAsync();
+            }
+            CancelAreaComs = false;
+
             if (newMgNr != m.MgNr) {
                 await ctx.Database.ExecuteSqlAsync($"UPDATE member SET mgnr = {newMgNr} WHERE mgnr = {oldMgNr}");
             }
@@ -844,12 +862,14 @@ namespace Elwig.Windows {
                 if (MemberList.SelectedItem is Member m && m.MgNr == mgnr)
                     return;
                 using var ctx = new AppDbContext();
-                var areaComs = await ctx.AreaCommitments.Where(c => c.MgNr == mgnr && c.YearTo == null).ToListAsync();
+                var areaComs = await ctx.AreaCommitments
+                    .Where(c => c.MgNr == mgnr && (c.YearTo == null || c.YearTo >= Utils.FollowingSeason))
+                    .ToListAsync();
                 if (areaComs.Count == 0)
                     return;
                 var res = MessageBox.Show("Sollen die aktiven Flächenbindungen des angegebenen\n" +
                     $"Vorgängers übernommen werden? ({areaComs.Sum(c => c.Area)} m²)\n\n" +
-                    "Die Flächenbindungen werden erst\nnach dem Speichern übernommen!",
+                    "Die Änderungen werden erst beim Speichern übernommen!",
                     "Aktive Flächenbindungen übernehmen", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
                 if (res != MessageBoxResult.Yes)
                     return;
@@ -893,5 +913,23 @@ namespace Elwig.Windows {
             if (MemberList.SelectedItem is not Member m || m.PredecessorMgNr == null) return;
             FocusMember((int)m.PredecessorMgNr);
         }
+
+        private async void ActiveInput_Changed(object sender, RoutedEventArgs evt) {
+            if ((IsEditing || IsCreating) && ActiveInput.IsChecked == false && int.TryParse(MgNrInput.Text, out var mgnr)) {
+                using var ctx = new AppDbContext();
+                var areaComs = await ctx.AreaCommitments
+                    .Where(c => c.MgNr == mgnr && (c.YearTo == null || c.YearTo >= Utils.FollowingSeason))
+                    .ToListAsync();
+                if (areaComs.Count >= 0) {
+                    var res = MessageBox.Show($"Sollen die aktiven Flächenbindungen gekündigt werden? ({areaComs.Sum(c => c.Area)} m²)\n" +
+                        "Falls die Flächenbindungen später an ein neues Mitglied\n" +
+                        "übertragen werden sollen bitte \"Nein\" auswählen!\n\n" +
+                        "Die Änderungen werden erst beim Speichern übernommen!",
+                        "Flächenbindungen kündigen", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
+                    CancelAreaComs = res == MessageBoxResult.Yes;
+                }
+            }
+            CheckBox_Changed(sender, evt);
+        }
     }
 }