diff --git a/ElectronicObserver/Window/Tools/EquipmentUpgradePlanner/EquipmentUpgradePlanManager.cs b/ElectronicObserver/Window/Tools/EquipmentUpgradePlanner/EquipmentUpgradePlanManager.cs
index 019233b6c..150d54f1c 100644
--- a/ElectronicObserver/Window/Tools/EquipmentUpgradePlanner/EquipmentUpgradePlanManager.cs
+++ b/ElectronicObserver/Window/Tools/EquipmentUpgradePlanner/EquipmentUpgradePlanManager.cs
@@ -193,15 +193,16 @@ private void UpdatePlanAfterEquipmentImprovement(EquipmentUpgradePlanItemViewMod
/// Null if not found
private EquipmentUpgradePlanItemViewModel? FindEquipmentPlanFromEquipmentData(IEquipmentData equipmentData)
{
- EquipmentUpgradePlanItemViewModel? foundPlan = PlannedUpgrades.FirstOrDefault(plan => plan.Equipment?.MasterID == equipmentData.MasterID);
+ List plans = PlannedUpgrades.Where(plan => !plan.Finished).ToList();
+
+ EquipmentUpgradePlanItemViewModel? foundPlan = plans.FirstOrDefault(plan => plan.Equipment?.MasterID == equipmentData.MasterID);
// Plan found, return it
if (foundPlan != null) return foundPlan;
// Not found => look for a matching plan
- foundPlan = PlannedUpgrades
+ foundPlan = plans
.Where(plan => plan.Equipment?.MasterID == 0)
- .Where(plan => !plan.Finished)
.Where(plan => plan.DesiredUpgradeLevel is UpgradeLevel.Conversion || plan.DesiredUpgradeLevel > equipmentData.UpgradeLevel)
.FirstOrDefault(plan => plan.Equipment?.EquipmentID == equipmentData.EquipmentID);