diff --git a/config/rootfiles/common/json-c b/config/rootfiles/common/json-c
index 6be4bbe68..58b6916af 100644
--- a/config/rootfiles/common/json-c
+++ b/config/rootfiles/common/json-c
@@ -1,6 +1,5 @@
 #usr/include/json-c
 #usr/include/json-c/arraylist.h
-#usr/include/json-c/bits.h
 #usr/include/json-c/debug.h
 #usr/include/json-c/json.h
 #usr/include/json-c/json_c_version.h
@@ -10,12 +9,16 @@
 #usr/include/json-c/json_object_iterator.h
 #usr/include/json-c/json_pointer.h
 #usr/include/json-c/json_tokener.h
+#usr/include/json-c/json_types.h
 #usr/include/json-c/json_util.h
 #usr/include/json-c/json_visit.h
 #usr/include/json-c/linkhash.h
 #usr/include/json-c/printbuf.h
-#usr/lib/libjson-c.la
+#usr/lib/cmake/json-c
+#usr/lib/cmake/json-c/json-c-config.cmake
+#usr/lib/cmake/json-c/json-c-targets-debug.cmake
+#usr/lib/cmake/json-c/json-c-targets.cmake
 #usr/lib/libjson-c.so
-usr/lib/libjson-c.so.4
-usr/lib/libjson-c.so.4.0.0
+usr/lib/libjson-c.so.5
+usr/lib/libjson-c.so.5.2.0
 #usr/lib/pkgconfig/json-c.pc
diff --git a/lfs/json-c b/lfs/json-c
index e9be858a6..642afd26a 100644
--- a/lfs/json-c
+++ b/lfs/json-c
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.13.1
+VER        = 0.16
 
 THISAPP    = json-c-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 1da310309f9ce03306a9fd4a161670e460cf0b2222348df7c006902390f74a4cf100aab1ce6ac8a361a278dd917c114a278de5b3445817f3a40ae287478add46
+$(DL_FILE)_BLAKE2 = 11457fa39330338c85bfdfb0dd38fc703ad6942e730ba090c9fe017dfb81ef905d7b1bb1c768b9b51f6445a8cf3cf4007d7740be3a9878f8062edc62ba554c66
 
 install : $(TARGET)
 
@@ -73,9 +73,11 @@ $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	$(UPDATE_AUTOMAKE)
-	cd $(DIR_APP) && ./configure --prefix=/usr --disable-static
-	cd $(DIR_APP) && make $(MAKETUNING)
-	cd $(DIR_APP) && make install
+	cd $(DIR_APP) && mkdir -pv build
+	cd $(DIR_APP)/build && cmake .. \
+	  -DCMAKE_INSTALL_PREFIX=/usr \
+	  -DBUILD_STATIC_LIBS=OFF
+	cd $(DIR_APP)/build && make $(MAKETUNING)
+	cd $(DIR_APP)/build && make install
 	@rm -rf $(DIR_APP)
 	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index ae1ebb5af..6488a7738 100755
--- a/make.sh
+++ b/make.sh
@@ -1178,6 +1178,9 @@ buildipfire() {
 
   lfsmake2 expat
   lfsmake2 libconfig
+  lfsmake2 curl
+  lfsmake2 libarchive
+  lfsmake2 cmake
   lfsmake2 json-c
   lfsmake2 tcl
   lfsmake2 libffi
@@ -1208,7 +1211,6 @@ buildipfire() {
   lfsmake2 libqmi
   lfsmake2 pam
   lfsmake2 c-ares
-  lfsmake2 curl
   lfsmake2 rust
   lfsmake2 rust-dissimilar
   lfsmake2 rust-cfg-if
@@ -1325,8 +1327,6 @@ buildipfire() {
   lfsmake2 libnl-3
   lfsmake2 libidn
   lfsmake2 nasm
-  lfsmake2 libarchive
-  lfsmake2 cmake
   lfsmake2 libjpeg
   lfsmake2 openjpeg
   lfsmake2 libexif
