diff --git a/CMakeLists.txt b/CMakeLists.txt
index ee5bf36be..02e32c8ad 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,23 +72,25 @@ set(LIB_INSTALL_DIR lib/ CACHE PATH "Installation directory for libraries")
 set(BIN_INSTALL_DIR lib/ CACHE PATH "Installation directory for executables")
 
 
-# By default, we build a release version.
-if (NOT CMAKE_BUILD_TYPE)
-    set(CMAKE_BUILD_TYPE "RELEASE")
-endif()
 # Install dir for cmake files (info for other libraries that include storm)
 set(DEF_INSTALL_CMAKE_DIR "lib/CMake/storm")
 set(CMAKE_INSTALL_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH  "Installation directory for CMake files")
 
 message("CMAKE_INSTALL_DIR: ${CMAKE_INSTALL_DIR}")
 
-# If the STORM_DEVELOPER option was turned on, we target a debug version.
+# If the STORM_DEVELOPER option was turned on, by default we target a debug version, otherwise a release version.
 if (STORM_DEVELOPER)
-    set(CMAKE_BUILD_TYPE "DEBUG")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSTORM_DEV")
+    if (NOT CMAKE_BUILD_TYPE)
+        set(CMAKE_BUILD_TYPE "DEBUG")
+    endif()
+    add_definitions(-DSTORM_DEV)
 else()
     set(STORM_LOG_DISABLE_DEBUG ON)
+    if (NOT CMAKE_BUILD_TYPE)
+        set(CMAKE_BUILD_TYPE "RELEASE")
+    endif()
 endif()
+
 message(STATUS "storm - Building ${CMAKE_BUILD_TYPE} version.")
 
 if(STORM_COMPILE_WITH_CCACHE)
diff --git a/src/storm/modelchecker/csl/helper/SparseCtmcCslHelper.cpp b/src/storm/modelchecker/csl/helper/SparseCtmcCslHelper.cpp
index 10995f9b7..1dff5b454 100644
--- a/src/storm/modelchecker/csl/helper/SparseCtmcCslHelper.cpp
+++ b/src/storm/modelchecker/csl/helper/SparseCtmcCslHelper.cpp
@@ -186,6 +186,8 @@ namespace storm {
                             }
                         }
                     }
+                } else {
+                    result = std::vector<ValueType>(numberOfStates, storm::utility::zero<ValueType>());
                 }
                 
                 return result;
diff --git a/src/storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.cpp b/src/storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.cpp
index 2db593ac9..fc1649d19 100644
--- a/src/storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.cpp
+++ b/src/storm/modelchecker/prctl/helper/SparseMdpPrctlHelper.cpp
@@ -226,13 +226,8 @@ namespace storm {
                 // Compute the reward vector to add in each step based on the available reward models.
                 std::vector<ValueType> totalRewardVector = rewardModel.getTotalRewardVector(transitionMatrix);
                 
-                // Initialize result to either the state rewards of the model or the null vector.
-                std::vector<ValueType> result;
-                if (rewardModel.hasStateRewards()) {
-                    result = rewardModel.getStateRewardVector();
-                } else {
-                    result.resize(transitionMatrix.getRowGroupCount());
-                }
+                // Initialize result to the zero vector.
+                std::vector<ValueType> result(transitionMatrix.getRowGroupCount(), storm::utility::zero<ValueType>());
                 
                 std::unique_ptr<storm::solver::MinMaxLinearEquationSolver<ValueType>> solver = minMaxLinearEquationSolverFactory.create(transitionMatrix);
                 solver->repeatedMultiply(dir, result, &totalRewardVector, stepBound);
diff --git a/src/storm/modelchecker/results/ExplicitQuantitativeCheckResult.cpp b/src/storm/modelchecker/results/ExplicitQuantitativeCheckResult.cpp
index 5ea662a57..f9231a22c 100644
--- a/src/storm/modelchecker/results/ExplicitQuantitativeCheckResult.cpp
+++ b/src/storm/modelchecker/results/ExplicitQuantitativeCheckResult.cpp
@@ -61,6 +61,7 @@ namespace storm {
 
             if (this->isResultForAllStates()) {
                 map_type newMap;
+                
                 for (auto const& element : filterTruthValues) {
                     STORM_LOG_THROW(element < this->getValueVector().size(), storm::exceptions::InvalidAccessException, "Invalid index in results.");
                     newMap.emplace(element, this->getValueVector()[element]);
diff --git a/src/storm/solver/Z3LpSolver.cpp b/src/storm/solver/Z3LpSolver.cpp
index 95b061f70..45ffbd7be 100644
--- a/src/storm/solver/Z3LpSolver.cpp
+++ b/src/storm/solver/Z3LpSolver.cpp
@@ -24,7 +24,7 @@ namespace storm {
         
 #ifdef STORM_HAVE_Z3_OPTIMIZE
         Z3LpSolver::Z3LpSolver(std::string const& name, OptimizationDirection const& optDir) : LpSolver(optDir) {
-            STORM_LOG_WARN_COND(name != "", "Z3 does not support names for solvers");
+            STORM_LOG_WARN_COND(name == "", "Z3 does not support names for solvers");
             z3::config config;
             config.set("model", true);
             context = std::unique_ptr<z3::context>(new z3::context(config));
@@ -120,7 +120,7 @@ namespace storm {
         void Z3LpSolver::addConstraint(std::string const& name, storm::expressions::Expression const& constraint) {            
             STORM_LOG_THROW(constraint.isRelationalExpression(), storm::exceptions::InvalidArgumentException, "Illegal constraint is not a relational expression.");
             STORM_LOG_THROW(constraint.getOperator() != storm::expressions::OperatorType::NotEqual, storm::exceptions::InvalidArgumentException, "Illegal constraint uses inequality operator.");
-            STORM_LOG_WARN_COND(name != "", "Z3 does not support names for constraints");
+            STORM_LOG_WARN_COND(name == "", "Z3 does not support names for constraints");
             solver->add(expressionAdapter->translateExpression(constraint));
         }
         
@@ -188,7 +188,7 @@ namespace storm {
             z3::expr z3Var = this->expressionAdapter->translateExpression(variable);
 			return this->expressionAdapter->translateExpression(lastCheckModel->eval(z3Var, true));
         }
-
+        
         double Z3LpSolver::getContinuousValue(storm::expressions::Variable const& variable) const {
             storm::expressions::Expression value = getValue(variable);
             if(value.getBaseExpression().isIntegerLiteralExpression()) {
@@ -398,6 +398,10 @@ namespace storm {
             bool Z3LpSolver::isOptimal() const {
                 throw storm::exceptions::NotImplementedException() << "This version of storm was compiled without Z3 or the version of Z3 does not support optimization. Yet, a method was called that requires this support.";
             }
+            
+            storm::expressions::Expression Z3LpSolver::getValue(storm::expressions::Variable const& variable) const {
+                throw storm::exceptions::NotImplementedException() << "This version of storm was compiled without Z3 or the version of Z3 does not support optimization. Yet, a method was called that requires this support.";
+            }
 
             double Z3LpSolver::getContinuousValue(storm::expressions::Variable const&) const {
                 throw storm::exceptions::NotImplementedException() << "This version of storm was compiled without Z3 or the version of Z3 does not support optimization. Yet, a method was called that requires this support.";
diff --git a/src/test/utility/GraphTest.cpp b/src/test/utility/GraphTest.cpp
index 051612984..ac646d99a 100644
--- a/src/test/utility/GraphTest.cpp
+++ b/src/test/utility/GraphTest.cpp
@@ -12,7 +12,6 @@
 #include "storm/builder/DdPrismModelBuilder.h"
 #include "storm/builder/ExplicitModelBuilder.h"
 #include "storm/utility/graph.h"
-#include "storm/utility/shortestPaths.cpp"
 #include "storm/storage/dd/Add.h"
 #include "storm/storage/dd/Bdd.h"
 #include "storm/storage/dd/DdManager.h"
diff --git a/src/test/utility/KSPTest.cpp b/src/test/utility/KSPTest.cpp
index 3d28ccae6..df8b4f212 100644
--- a/src/test/utility/KSPTest.cpp
+++ b/src/test/utility/KSPTest.cpp
@@ -6,15 +6,13 @@
 #include "storm/parser/PrismParser.h"
 #include "storm/storage/SymbolicModelDescription.h"
 #include "storm/utility/graph.h"
-#include "storm/utility/shortestPaths.cpp"
+#include "storm/utility/shortestPaths.h"
 
 // NOTE: The KSPs / distances of these tests were generated by the
 //       KSP-Generator itself and checked for gross implausibility, but no
 //       more than that.
 //       An independent verification of the values would be really nice ...
 
-// FIXME: (almost) all of these fail; the question is: is there actually anything wrong or does the new parser yield a different order of states?
-
 std::shared_ptr<storm::models::sparse::Model<double>> buildExampleModel() {
 	std::string prismModelPath = STORM_TEST_RESOURCES_DIR "/dtmc/brp-16-2.pm";
     storm::storage::SymbolicModelDescription modelDescription = storm::parser::PrismParser::parse(prismModelPath);
@@ -61,16 +59,12 @@ TEST(KSPTest, groupTarget) {
     auto groupTarget = std::vector<storm::utility::ksp::state_t>{50, 90};
     auto spg = storm::utility::ksp::ShortestPathsGenerator<double>(*model, groupTarget);
 
-    // FIXME comments are outdated (but does it even matter?)
-    // this path should lead to 90
     double dist1 = spg.getDistance(8);
     EXPECT_DOUBLE_EQ(0.00018449245583999996, dist1);
 
-    // this one to 50
     double dist2 = spg.getDistance(9);
     EXPECT_DOUBLE_EQ(0.00018449245583999996, dist2);
 
-    // this one to 90 again
     double dist3 = spg.getDistance(12);
     EXPECT_DOUBLE_EQ(7.5303043199999984e-06, dist3);
 }