diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/ILUTPPreconditioner.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/ILUTPPreconditioner.cs
index 6523b625..2e452963 100644
--- a/src/Numerics/LinearAlgebra/Complex/Solvers/ILUTPPreconditioner.cs
+++ b/src/Numerics/LinearAlgebra/Complex/Solvers/ILUTPPreconditioner.cs
@@ -552,20 +552,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers
/// true if performed, otherwise false
bool PivotMapFound(Dictionary knownPivots, int currentItem)
{
- if (knownPivots.ContainsKey(_pivots[currentItem]))
+ if (knownPivots.TryGetValue(_pivots[currentItem], out var knownPivot) && knownPivot.Equals(currentItem))
{
- if (knownPivots[_pivots[currentItem]].Equals(currentItem))
- {
- return true;
- }
+ return true;
}
- if (knownPivots.ContainsKey(currentItem))
+ if (knownPivots.TryGetValue(currentItem, out var pivot) && pivot.Equals(_pivots[currentItem]))
{
- if (knownPivots[currentItem].Equals(_pivots[currentItem]))
- {
- return true;
- }
+ return true;
}
return false;