diff --git a/platform.txt b/platform.txt
index 88d9c82b5a..cabfb151f1 100644
--- a/platform.txt
+++ b/platform.txt
@@ -21,11 +21,11 @@ runtime.tools.mkdir={runtime.platform.path}/tools/mkdir.py
 runtime.tools.cp={runtime.platform.path}/tools/cp.py
 runtime.tools.eboot={runtime.platform.path}/bootloaders/eboot/eboot.elf
 
-compiler.warning_flags=-w
-compiler.warning_flags.none=-w
-compiler.warning_flags.default=
-compiler.warning_flags.more=-Wall
-compiler.warning_flags.all=-Wall -Wextra
+compiler.warning_flags=-w -Werror=return-type
+compiler.warning_flags.none=-w -Werror=return-type
+compiler.warning_flags.default=-Werror=return-type
+compiler.warning_flags.more=-Wall -Werror=return-type
+compiler.warning_flags.all=-Wall -Wextra -Werror=return-type
 
 build.lwip_lib=-llwip_gcc
 build.lwip_include=lwip/include
diff --git a/tools/platformio-build.py b/tools/platformio-build.py
index 35a88fe446..de0c019e2b 100644
--- a/tools/platformio-build.py
+++ b/tools/platformio-build.py
@@ -62,6 +62,7 @@ def scons_patched_match_splitext(path, suffixes=None):
         "-std=gnu17",
         "-Wpointer-arith",
         "-Wno-implicit-function-declaration",
+        "-Werror=return-type",
         "-Wl,-EL",
         "-fno-inline-functions",
         "-nostdlib"