diff --git a/XenAdmin/Diagnostics/Problems/Problem.cs b/XenAdmin/Diagnostics/Problems/Problem.cs index ebbecff8f..47a204293 100644 --- a/XenAdmin/Diagnostics/Problems/Problem.cs +++ b/XenAdmin/Diagnostics/Problems/Problem.cs @@ -104,7 +104,7 @@ namespace XenAdmin.Diagnostics.Problems result = string.Compare(Title, other.Title, StringComparison.InvariantCulture); if (result == 0 && Check?.XenObjects != null && other.Check?.XenObjects != null) - result = Check.XenObjects.Count.CompareTo(other.Check.XenObjects.Count); + result = Check.XenObjects.SequenceEqual(other.Check.XenObjects) ? 0 : Check.XenObjects.Count.CompareTo(other.Check.XenObjects.Count); return result; } diff --git a/XenAdmin/Wizards/PatchingWizard/PatchingWizard_PrecheckPage.cs b/XenAdmin/Wizards/PatchingWizard/PatchingWizard_PrecheckPage.cs index 9189153fc..fb36fe067 100644 --- a/XenAdmin/Wizards/PatchingWizard/PatchingWizard_PrecheckPage.cs +++ b/XenAdmin/Wizards/PatchingWizard/PatchingWizard_PrecheckPage.cs @@ -230,10 +230,10 @@ namespace XenAdmin.Wizards.PatchingWizard if (problem is HostNotLive) { // this host is no longer live -> remove all previous problems regarding this host - Problem curProblem = problem; + var curProblem = problem; ProblemsResolvedPreCheck.RemoveAll(p => - p.Check?.XenObjects != null && p.Check.XenObjects.Count > 0 && - curProblem.Check?.XenObjects != null && curProblem.Check.XenObjects.Count > 0 && + p.Check?.XenObjects != null && + curProblem.Check?.XenObjects != null && p.Check.XenObjects.SequenceEqual(curProblem.Check.XenObjects) ); }