diff --git a/Makefile b/Makefile
index 59b655ca70be00313a8e6755979226ea26c6ce45..0f4ac62279f4715a7f850cb5d9d89fd0c3de60d9 100644
--- a/Makefile
+++ b/Makefile
@@ -280,6 +280,7 @@ DISTRIB_FILES:=\
       $(wildcard share/emacs/*.el) share/autocomplete_frama-c           \
       share/_frama-c                                                    \
       share/compliance/c11_functions.json                               \
+      share/compliance/c11_headers.json                                 \
       share/compliance/glibc_functions.json                             \
       share/compliance/nonstandard_identifiers.json                     \
       share/compliance/posix_identifiers.json                           \
@@ -1945,6 +1946,7 @@ install:: install-lib-$(OCAMLBEST)
 	  $(FRAMAC_DATADIR)/analysis-scripts
 	$(MKDIR) $(FRAMAC_DATADIR)/compliance
 	$(CP) share/compliance/c11_functions.json \
+	  share/compliance/c11_headers.json \
 	  share/compliance/glibc_functions.json \
 	  share/compliance/nonstandard_identifiers.json \
 	  share/compliance/posix_identifiers.json \
diff --git a/configure.in b/configure.in
index b98dcfa282fe08c9e11e2054a1db0708fa2f423c..69dcc5f924809aac66203859dba99577a519e131 100644
--- a/configure.in
+++ b/configure.in
@@ -405,7 +405,7 @@ else
   HAS_LANDMARKS="no"
 fi
 
-# Python 3 (for analysis-scripts)
+# Python 3 (for analysis-scripts, and for several tests: compliance, jcdb, ...)
 ########
 
 AC_MSG_CHECKING(for python3)
@@ -430,6 +430,8 @@ else
   esac
 fi
 
+plugin_use_external(tests,python3)
+
 ############
 # Platform #
 ############
diff --git a/headers/header_spec.txt b/headers/header_spec.txt
index b4c1ddf551edc3130030aba5718106e5d2160da4..d1b383e76b2d8a39234b67339deb1984c7ad12b3 100644
--- a/headers/header_spec.txt
+++ b/headers/header_spec.txt
@@ -136,6 +136,7 @@ share/analysis-scripts/results_display.py: .ignore
 share/analysis-scripts/summary.py: .ignore
 share/analysis-scripts/template.mk: .ignore
 share/compliance/c11_functions.json: .ignore
+share/compliance/c11_headers.json: .ignore
 share/compliance/glibc_functions.json: .ignore
 share/compliance/nonstandard_identifiers.json: .ignore
 share/compliance/posix_identifiers.json: .ignore
diff --git a/tests/compliance/check-json.i b/tests/compliance/check-json.i
index 20d667917fd4a5df80572fd3c61ec58a71e086d7..c59b0b2c74f7090f056a290caacb42bc506b2a26 100644
--- a/tests/compliance/check-json.i
+++ b/tests/compliance/check-json.i
@@ -1,7 +1,7 @@
 /*run.config
   NOFRAMAC:
-  EXECNOW: python -m json.tool < share/compliance/c11_functions.json >/dev/null
-  EXECNOW: python -m json.tool < share/compliance/glibc_functions.json >/dev/null
-  EXECNOW: python -m json.tool < share/compliance/nonstandard_identifiers.json >/dev/null
-  EXECNOW: python -m json.tool < share/compliance/posix_identifiers.json >/dev/null
+  EXECNOW: python3 -m json.tool < share/compliance/c11_functions.json >/dev/null
+  EXECNOW: python3 -m json.tool < share/compliance/glibc_functions.json >/dev/null
+  EXECNOW: python3 -m json.tool < share/compliance/nonstandard_identifiers.json >/dev/null
+  EXECNOW: python3 -m json.tool < share/compliance/posix_identifiers.json >/dev/null
 */