diff --git a/Applications/FileIO/SWMM/SWMMInterface.cpp b/Applications/FileIO/SWMM/SWMMInterface.cpp
index 0b5b4cc27a8b423c6a953ae1631ed0e59b2bfd3f..3ffd27a0f7655a586f6638abab1a160875b81b64 100644
--- a/Applications/FileIO/SWMM/SWMMInterface.cpp
+++ b/Applications/FileIO/SWMM/SWMMInterface.cpp
@@ -617,7 +617,6 @@ bool SwmmInterface::readSubcatchments(std::ifstream &in, std::map< std::string,
             return false;
         }
 
-        sc.outlet =  std::numeric_limits<std::size_t>::max();
         auto const it = name_id_map.find(split_str[2]);
         if (it == name_id_map.end())
         {
diff --git a/MathLib/LinAlg/Lis/LisLinearSolver.cpp b/MathLib/LinAlg/Lis/LisLinearSolver.cpp
index 95cde280cfe43faa089a949cbebe4f2b8789eb97..9829c95bd61a33896b97c791518f468af27f4168 100644
--- a/MathLib/LinAlg/Lis/LisLinearSolver.cpp
+++ b/MathLib/LinAlg/Lis/LisLinearSolver.cpp
@@ -55,11 +55,15 @@ bool LisLinearSolver::solve(LisMatrix &A, LisVector &b, LisVector &x)
     {
         int precon;
         ierr = lis_solver_get_precon(solver, &precon);
+        if (!checkLisError(ierr))
+            return false;
         INFO("-> precon: %i", precon);
     }
     {
         int slv;
         ierr = lis_solver_get_solver(solver, &slv);
+        if (!checkLisError(ierr))
+            return false;
         INFO("-> solver: %i", slv);
     }
 
diff --git a/MathLib/LinAlg/Lis/LisMatrix.cpp b/MathLib/LinAlg/Lis/LisMatrix.cpp
index 5b075ebc256951fa60b9ee42dfd7921ee89f0774..6cccbfae9f8cb1205865b819dc4faf89d73167c2 100644
--- a/MathLib/LinAlg/Lis/LisMatrix.cpp
+++ b/MathLib/LinAlg/Lis/LisMatrix.cpp
@@ -63,7 +63,10 @@ LisMatrix::~LisMatrix()
 {
     int ierr = 0;
     if (_use_external_arrays)
+    {
         ierr = lis_matrix_unset(_AA);
+        checkLisError(ierr);
+    }
     ierr = lis_matrix_destroy(_AA);
     checkLisError(ierr);
     ierr = lis_vector_destroy(_diag);