diff --git a/src/Solvers/ArbitraryDomain.cpp b/src/Solvers/ArbitraryDomain.cpp
index 6da0f901ee5badf570d2fab443add44b3d89bffb..499f872ebc4315e2529749885bfaed9de3ccc080 100644
--- a/src/Solvers/ArbitraryDomain.cpp
+++ b/src/Solvers/ArbitraryDomain.cpp
@@ -35,6 +35,7 @@
 #include <iostream>
 #include <tuple>
 #include "Utilities/OpalException.h"
+#include "Index/NDIndex.h"
 
 ArbitraryDomain::ArbitraryDomain( BoundaryGeometry * bgeom,
                                   IntVector_t nr,
diff --git a/src/Solvers/BoxCornerDomain.cpp b/src/Solvers/BoxCornerDomain.cpp
index 01adb96e3f7ae887f7817eb23599de1bed6d15e0..665aaec12ad131101c9d6b5824f2fa7831c2c9e3 100644
--- a/src/Solvers/BoxCornerDomain.cpp
+++ b/src/Solvers/BoxCornerDomain.cpp
@@ -33,7 +33,7 @@
 
 //FIXME: ORDER HOW TO TRAVERSE NODES IS FIXED, THIS SHOULD BE MORE GENERIC! (PLACES MARKED)
 
-BoxCornerDomain::BoxCornerDomain(double A, double B, double C, double length,
+BoxCornerDomain::BoxCornerDomain(double A, double B, double C,
                                  double L1, double L2, IntVector_t nr, Vector_t hr,
                                  std::string interpl)
     : RegularDomain(nr, hr, interpl)
@@ -41,7 +41,6 @@ BoxCornerDomain::BoxCornerDomain(double A, double B, double C, double length,
     setRangeMin(Vector_t(-A, -B, L1));
     setRangeMax(Vector_t( A,  B, L1 + L2));
     C_m = C;
-    length_m = length;
 
     throw OpalException("BoxCornerDomain::BoxCornerDomain()",
                         "This domain is currently not supported!");
diff --git a/src/Solvers/BoxCornerDomain.h b/src/Solvers/BoxCornerDomain.h
index 0c20ccbc0a6d4fdae429634acc9b13286f9b855c..07b73236b1639ad033b97e28436c878a554ab1a1 100644
--- a/src/Solvers/BoxCornerDomain.h
+++ b/src/Solvers/BoxCornerDomain.h
@@ -79,7 +79,7 @@ public:
      * \param L1 length of the first part of the structure
      * \param L2 length of the corner
      */
-    BoxCornerDomain(double A, double B, double C, double length,
+    BoxCornerDomain(double A, double B, double C,
                     double L1, double L2, IntVector_t nr, Vector_t hr,
                     std::string interpl);
     ~BoxCornerDomain();
diff --git a/src/Solvers/IrregularDomain.h b/src/Solvers/IrregularDomain.h
index 9b865477d26138e6aa31d67c96347a4d00d418f4..ba45351d6eba68a640c13b4dfe74dbebc823aa72 100644
--- a/src/Solvers/IrregularDomain.h
+++ b/src/Solvers/IrregularDomain.h
@@ -30,6 +30,7 @@
 #include <string>
 #include "Algorithms/Vektor.h"
 #include "Algorithms/Quaternion.h"
+#include "Index/NDIndex.h"
 
 /// enumeration corresponding to different interpolation methods at the boundary
 enum {
diff --git a/src/Solvers/MGPoissonSolver.cpp b/src/Solvers/MGPoissonSolver.cpp
index 934b7c8c95a1e63291902fce36ba5826014fd8d3..6fd450b0586ed34ffab80f57e0054b332709a54f 100644
--- a/src/Solvers/MGPoissonSolver.cpp
+++ b/src/Solvers/MGPoissonSolver.cpp
@@ -123,7 +123,6 @@ MGPoissonSolver::MGPoissonSolver ( PartBunch *beam,
                 new BoxCornerDomain(currentGeometry->getA(),
                                     currentGeometry->getB(),
                                     currentGeometry->getC(),
-                                    currentGeometry->getLength(),
                                     currentGeometry->getL1(),
                                     currentGeometry->getL2(),
                                     orig_nr_m, hr_m, interpl));