diff --git a/templates/tools/dockerfile/clang_update.include b/templates/tools/dockerfile/clang_update.include
index 83ab3e0bbbf01f78a3515b260db91c1a48a3bcdf..a44fe717d88b7fc8d70db1111514fb1ba52a4096 100644
--- a/templates/tools/dockerfile/clang_update.include
+++ b/templates/tools/dockerfile/clang_update.include
@@ -29,4 +29,4 @@ RUN cd llvm-build && cmake ${'\\'}
   -DCMAKE_INSTALL_PREFIX:STRING=/usr ${'\\'}
   -DLLVM_TARGETS_TO_BUILD:STRING=X86 ${'\\'}
   ../llvm
-RUN make -C llvm-build && make -C llvm-build install && rm -rf llvm-build
+RUN make -C llvm-build -j 12 && make -C llvm-build install && rm -rf llvm-build
diff --git a/templates/tools/dockerfile/test/fuzzers.template b/templates/tools/dockerfile/test/fuzzers.template
index 763a6169eac586909eb13766e3b1921176bf75c3..6cf8694f3b941a5b3d78d73156c345209298f8e8 100644
--- a/templates/tools/dockerfile/test/fuzzers.template
+++ b/templates/tools/dockerfile/test/fuzzers.template
@@ -37,11 +37,8 @@ template: |
 
   <%include file="../apt_get_basic.include"/>
   <%include file="../cxx_deps.include"/>
+  <%include file="../clang_update.include"/>
   <%include file="../run_tests_addons.include"/>
-  RUN git clone -n -b master http://llvm.org/git/llvm.git && ${'\\'}
-    cd llvm && ${'\\'}
-    git checkout 308857f && ${'\\'}
-    cd ..
   RUN clang++ -c -g -O2 -std=c++11 llvm/lib/Fuzzer/*.cpp -IFuzzer
   RUN ar ruv libFuzzer.a Fuzzer*.o
   RUN mv libFuzzer.a /usr/lib
diff --git a/tools/dockerfile/test/cxx_jessie_x64/Dockerfile b/tools/dockerfile/test/cxx_jessie_x64/Dockerfile
index b848f233b701b09935a71bf7aa0a6bcad228a55f..685d2038b0a6ebd395a77f0d6257e248625ef250 100644
--- a/tools/dockerfile/test/cxx_jessie_x64/Dockerfile
+++ b/tools/dockerfile/test/cxx_jessie_x64/Dockerfile
@@ -98,7 +98,7 @@ RUN cd llvm-build && cmake \
   -DCMAKE_INSTALL_PREFIX:STRING=/usr \
   -DLLVM_TARGETS_TO_BUILD:STRING=X86 \
   ../llvm
-RUN make -C llvm-build && make -C llvm-build install && rm -rf llvm-build
+RUN make -C llvm-build -j 12 && make -C llvm-build install && rm -rf llvm-build
 
 # Prepare ccache
 RUN ln -s /usr/bin/ccache /usr/local/bin/gcc
diff --git a/tools/dockerfile/test/fuzzers/json_fuzzer_test/Dockerfile b/tools/dockerfile/test/fuzzers/json_fuzzer_test/Dockerfile
index 1c95555df737411b284b4060ea632e7bd9ce1357..9335a2a97c48a159f2c2d7602cda4471f93e2c8c 100644
--- a/tools/dockerfile/test/fuzzers/json_fuzzer_test/Dockerfile
+++ b/tools/dockerfile/test/fuzzers/json_fuzzer_test/Dockerfile
@@ -67,6 +67,39 @@ RUN apt-get update && apt-get install -y time && apt-get clean
 # C++ dependencies
 RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang && apt-get clean
 
+#=================
+# Update clang to a version with improved tsan
+
+RUN apt-get update && apt-get -y install python cmake && apt-get clean
+
+RUN git clone -n -b release_38 http://llvm.org/git/llvm.git && \
+  cd llvm && git checkout ad57503 && cd ..
+RUN git clone -n -b release_38 http://llvm.org/git/clang.git && \
+  cd clang && git checkout ad2c56e && cd ..
+RUN git clone -n -b release_38 http://llvm.org/git/compiler-rt.git && \
+  cd compiler-rt && git checkout 3176922 && cd ..
+RUN git clone -n -b release_38 \
+  http://llvm.org/git/clang-tools-extra.git && cd clang-tools-extra && \
+  git checkout c288525 && cd ..
+RUN git clone -n -b release_38 http://llvm.org/git/libcxx.git && \
+  cd libcxx && git checkout fda3549  && cd ..
+RUN git clone -n -b release_38 http://llvm.org/git/libcxxabi.git && \
+  cd libcxxabi && git checkout 8d4e51d && cd ..
+
+RUN mv clang llvm/tools
+RUN mv compiler-rt llvm/projects
+RUN mv clang-tools-extra llvm/tools/clang/tools
+RUN mv libcxx llvm/projects
+RUN mv libcxxabi llvm/projects
+
+RUN mkdir llvm-build
+RUN cd llvm-build && cmake \
+  -DCMAKE_BUILD_TYPE:STRING=Release \
+  -DCMAKE_INSTALL_PREFIX:STRING=/usr \
+  -DLLVM_TARGETS_TO_BUILD:STRING=X86 \
+  ../llvm
+RUN make -C llvm-build -j 12 && make -C llvm-build install && rm -rf llvm-build
+
 # Prepare ccache
 RUN ln -s /usr/bin/ccache /usr/local/bin/gcc
 RUN ln -s /usr/bin/ccache /usr/local/bin/g++
@@ -82,10 +115,6 @@ RUN apt-get install -y libzookeeper-mt-dev
 
 RUN mkdir /var/local/jenkins
 
-RUN git clone -n -b master http://llvm.org/git/llvm.git && \
-  cd llvm && \
-  git checkout 308857f && \
-  cd ..
 RUN clang++ -c -g -O2 -std=c++11 llvm/lib/Fuzzer/*.cpp -IFuzzer
 RUN ar ruv libFuzzer.a Fuzzer*.o
 RUN mv libFuzzer.a /usr/lib