diff --git a/src/bench/bench_bitcoin.cpp b/src/bench/bench_bitcoin.cpp
--- a/src/bench/bench_bitcoin.cpp
+++ b/src/bench/bench_bitcoin.cpp
@@ -8,10 +8,9 @@
 #include <key.h>
 #include <random.h>
 #include <util.h>
+#include <utilstrencodings.h>
 #include <validation.h>
 
-#include <boost/lexical_cast.hpp>
-
 #include <memory>
 
 static const int64_t DEFAULT_BENCH_EVALUATIONS = 5;
@@ -97,7 +96,12 @@
     std::string scaling_str = gArgs.GetArg("-scaling", DEFAULT_BENCH_SCALING);
     bool is_list_only = gArgs.GetBoolArg("-list", false);
 
-    double scaling_factor = boost::lexical_cast<double>(scaling_str);
+    double scaling_factor;
+    if (!ParseDouble(scaling_str, &scaling_factor)) {
+        fprintf(stderr, "Error parsing scaling factor as double: %s\n",
+                scaling_str.c_str());
+        return EXIT_FAILURE;
+    }
 
     std::unique_ptr<benchmark::Printer> printer(
         new benchmark::ConsolePrinter());