diff --git a/tests/common/SConscript b/tests/common/SConscript
index f1dee0e204184c4912169b16eaaff82f9aacb709..4581bea10d935d4110c73be7b4f2ab2662af593f 100644
--- a/tests/common/SConscript
+++ b/tests/common/SConscript
@@ -15,3 +15,7 @@ strict.Append(CFLAGS = strict['CORECFLAGS'])
 strict.Object("pb_decode.o", "$NANOPB/pb_decode.c")
 strict.Object("pb_encode.o", "$NANOPB/pb_encode.c")
 strict.Object("pb_common.o", "$NANOPB/pb_common.c")
+
+mw = env.Object("malloc_wrappers.o", "malloc_wrappers.c")
+Depends(mw, ["malloc_wrappers_syshdr.h"])
+
diff --git a/tests/fuzztest/malloc_wrappers.c b/tests/common/malloc_wrappers.c
similarity index 100%
rename from tests/fuzztest/malloc_wrappers.c
rename to tests/common/malloc_wrappers.c
diff --git a/tests/fuzztest/malloc_wrappers.h b/tests/common/malloc_wrappers.h
similarity index 100%
rename from tests/fuzztest/malloc_wrappers.h
rename to tests/common/malloc_wrappers.h
diff --git a/tests/fuzztest/fuzz_syshdr.h b/tests/common/malloc_wrappers_syshdr.h
similarity index 100%
rename from tests/fuzztest/fuzz_syshdr.h
rename to tests/common/malloc_wrappers_syshdr.h
diff --git a/tests/fuzztest/SConscript b/tests/fuzztest/SConscript
index 6499714f6889d7515fdea17c44464543e77080ff..346ccab8153a13730e77ad8f24a93ce230b4c605 100644
--- a/tests/fuzztest/SConscript
+++ b/tests/fuzztest/SConscript
@@ -5,8 +5,8 @@ Import("env")
 # We need our own pb_decode.o for the malloc support
 env = env.Clone()
 env.Append(CPPDEFINES = {'PB_ENABLE_MALLOC': 1,
-                         'PB_SYSTEM_HEADER': '\\"fuzz_syshdr.h\\"'})
-env.Append(CPPPATH = ".")
+                         'PB_SYSTEM_HEADER': '\\"malloc_wrappers_syshdr.h\\"'})
+env.Append(CPPPATH = [".", "$COMMON"])
 
 if 'SYSHDR' in env:
     env.Append(CPPDEFINES = {'PB_OLD_SYSHDR': env['SYSHDR']})
@@ -42,8 +42,7 @@ fuzz = env.Program(["fuzztest.c",
                     "pb_encode_with_malloc.o",
                     "pb_decode_with_malloc.o",
                     "pb_common_with_malloc.o",
-                    "malloc_wrappers.c"])
-Depends([p1, p2, fuzz], ["fuzz_syshdr.h", "malloc_wrappers.h"])
+                    "$COMMON/malloc_wrappers.o"])
 
 env.RunTest(fuzz)
 
@@ -53,6 +52,6 @@ fuzzstub = env.Program(["fuzzstub.c",
                     "pb_encode_with_malloc.o",
                     "pb_decode_with_malloc.o",
                     "pb_common_with_malloc.o",
-                    "malloc_wrappers.c"])
+                    "$COMMON/malloc_wrappers.o"])
 
 
diff --git a/tests/fuzztest/fuzzstub.c b/tests/fuzztest/fuzzstub.c
index 509984160b342c66ed6e11bfec5d1dc1c27b40ac..ce14b9ba90d4c552ab51a7a61fe7860aa5ff8170 100644
--- a/tests/fuzztest/fuzzstub.c
+++ b/tests/fuzztest/fuzzstub.c
@@ -10,7 +10,7 @@
 #include <string.h>
 #include <assert.h>
 #include <time.h>
-#include "malloc_wrappers.h"
+#include <malloc_wrappers.h>
 #include "alltypes_static.pb.h"
 #include "alltypes_pointer.pb.h"
 
diff --git a/tests/fuzztest/fuzztest.c b/tests/fuzztest/fuzztest.c
index 996ed450252b63b25c0b6083d0df74400adbdb12..d3701724002b2c72f0129c086aae713dbc3cd673 100644
--- a/tests/fuzztest/fuzztest.c
+++ b/tests/fuzztest/fuzztest.c
@@ -9,7 +9,7 @@
 #include <string.h>
 #include <assert.h>
 #include <time.h>
-#include "malloc_wrappers.h"
+#include <malloc_wrappers.h>
 #include "alltypes_static.pb.h"
 #include "alltypes_pointer.pb.h"