diff --git a/cosserat-continuum.cc b/cosserat-continuum.cc
index f9d529d78d9aa864817bcebaa973b3b6a4b187d2..b3e927048fa1a5632e71629cc88e21b6750477d7 100644
--- a/cosserat-continuum.cc
+++ b/cosserat-continuum.cc
@@ -257,19 +257,19 @@ int main (int argc, char *argv[]) try
     // Make Python function that computes which vertices are on the Dirichlet boundary,
     // based on the vertex positions.
     std::string lambda = std::string("lambda x: (") + parameterSet.get<std::string>("dirichletVerticesPredicate") + std::string(")");
-    PythonFunction<FieldVector<double,dim>, int> pythonDirichletVertices(Python::evaluate(lambda));
+    PythonFunction<FieldVector<double,dim>, bool> pythonDirichletVertices(Python::evaluate(lambda));
 
     // Same for the Neumann boundary
     lambda = std::string("lambda x: (") + parameterSet.get<std::string>("neumannVerticesPredicate", "0") + std::string(")");
-    PythonFunction<FieldVector<double,dim>, int> pythonNeumannVertices(Python::evaluate(lambda));
+    PythonFunction<FieldVector<double,dim>, bool> pythonNeumannVertices(Python::evaluate(lambda));
 
     for (; vIt!=vEndIt; ++vIt) {
 
-        int isDirichlet;
+        bool isDirichlet;
         pythonDirichletVertices.evaluate(vIt->geometry().corner(0), isDirichlet);
         dirichletVertices[indexSet.index(*vIt)] = isDirichlet;
 
-        int isNeumann;
+        bool isNeumann;
         pythonNeumannVertices.evaluate(vIt->geometry().corner(0), isNeumann);
         neumannNodes[indexSet.index(*vIt)] = isNeumann;