diff --git a/Makefile b/Makefile
index b53d8d3d..4c96bad7 100644
--- a/Makefile
+++ b/Makefile
@@ -66,6 +66,9 @@ fuzz: test/src/fuzz.cpp src/json.hpp
 cppcheck:
 	cppcheck --enable=warning --inconclusive --force --std=c++11 src/json.hpp --error-exitcode=1
 
+clang_sanitize: clean
+	CXX=clang++ CXXFLAGS="-g -O2 -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer" $(MAKE)
+
 ##########################################################################
 # maintainer targets
 ##########################################################################
diff --git a/README.md b/README.md
index 9893fedd..c1453408 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,8 @@
 [![JSON for Modern C++](https://raw.githubusercontent.com/nlohmann/json/master/doc/json.gif)](https://github.com/nlohmann/json/releases)
 
 [![Build Status](https://travis-ci.org/nlohmann/json.svg?branch=master)](https://travis-ci.org/nlohmann/json)
-[![Build Status](https://ci.appveyor.com/api/projects/status/1acb366xfyg3qybk?svg=true)](https://ci.appveyor.com/project/nlohmann/json)
+[![Build Status](https://ci.appveyor.com/api/projects/status/1acb366xfyg3qybk/branch/develop?svg=true)](https://ci.appveyor.com/project/nlohmann/json)
 [![Coverage Status](https://img.shields.io/coveralls/nlohmann/json.svg)](https://coveralls.io/r/nlohmann/json)
-[![Coverity Scan Build Status](https://scan.coverity.com/projects/5550/badge.svg)](https://scan.coverity.com/projects/nlohmann-json)
 [![Try online](https://img.shields.io/badge/try-online-blue.svg)](http://melpon.org/wandbox/permlink/p5o4znPnGHJpDVqN)
 [![Documentation](https://img.shields.io/badge/docs-doxygen-blue.svg)](http://nlohmann.github.io/json)
 [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/nlohmann/json/master/LICENSE.MIT)
diff --git a/src/json.hpp b/src/json.hpp
index 3fdcbaa1..0aa45af5 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -2212,7 +2212,8 @@ class basic_json
     {
         std::stringstream ss;
         // fix locale problems
-        ss.imbue(std::locale(std::locale(), new DecimalSeparator));
+        const static std::locale loc(std::locale(), new DecimalSeparator);
+        ss.imbue(loc);
 
         // 6, 15 or 16 digits of precision allows round-trip IEEE 754
         // string->float->string, string->double->string or string->long
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index 5107e056..dbc5dec3 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -2212,7 +2212,8 @@ class basic_json
     {
         std::stringstream ss;
         // fix locale problems
-        ss.imbue(std::locale(std::locale(), new DecimalSeparator));
+        const static std::locale loc(std::locale(), new DecimalSeparator);
+        ss.imbue(loc);
 
         // 6, 15 or 16 digits of precision allows round-trip IEEE 754
         // string->float->string, string->double->string or string->long