diff --git a/Makefile.cflags b/Makefile.cflags
index 3755c1028bbed6144af9fc0a676aa558e33015a3..4e079d0ccf4c884f7ae5ecba29c25766901a2ef4 100644
--- a/Makefile.cflags
+++ b/Makefile.cflags
@@ -56,7 +56,9 @@ CFLAGS += -fno-common
 CFLAGS += -Wall
 
 ifeq (,$(filter -DDEVELHELP,$(CFLAGS)))
-	CFLAGS += -DNDEBUG
+  ifneq (1,$(FORCE_ASSERTS))
+    CFLAGS += -DNDEBUG
+  endif
 endif
 
 # Default ARFLAGS for platforms which do not specify it.
diff --git a/Makefile.scan-build b/Makefile.scan-build
index a12faf29dce4a903ff24c3e7ab899aedf8634c72..3442119b2292056058b76e967e563ae5660b346e 100644
--- a/Makefile.scan-build
+++ b/Makefile.scan-build
@@ -70,7 +70,7 @@ scan-build-analyze: clean
 	$(AD)mkdir -p '$(SCANBUILD_OUTPUTDIR)'
 	$(AD)env -i $(ENVVARS) \
 	    scan-build -o '$(SCANBUILD_OUTPUTDIR)' $(SCANBUILD_ARGS) \
-	      make -C $(CURDIR) all $(strip $(CMDVARS));
+	      make -C $(CURDIR) all $(strip $(CMDVARS)) FORCE_ASSERTS=1;
 endif # BUILD_IN_DOCKER
 
 ifeq (1,$(INSIDE_DOCKER))