diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5d5dbd8..0567c34 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -170,7 +170,10 @@
 # source files to be covered by the 'format' target
 set(format_sources
     compat/*
-    src/*)
+    src/*.c
+    src/*.h
+    src/plugins_exts/*
+    src/plugins_types/*)
 #
 # options
 #
@@ -305,6 +308,11 @@
     find_package(CMocka 1.0.0)
 endif(ENABLE_BUILD_TESTS)
 
+if ("${BUILD_TYPE_UPPER}" STREQUAL "DEBUG")
+    # enable before adding tests to let them detect that format checking is available - one of the tests is format checking
+    source_format_enable()
+endif()
+
 # tests
 if(ENABLE_VALGRIND_TESTS)
     set(ENABLE_BUILD_TESTS ON)
@@ -341,10 +349,9 @@
     libyang_abicheck()
 endif()
 
-# source code format
-if ("${BUILD_TYPE_UPPER}" STREQUAL "DEBUG")
-	source_format(${format_sources})
-endif()
+# source code format target for Makefile
+# - add it after tests which may also update list of sources to format
+source_format(${format_sources})
 
 # clean cmake cache
 add_custom_target(cclean
diff --git a/CMakeModules/SourceFormat.cmake b/CMakeModules/SourceFormat.cmake
index d3655ad..76132a4 100644
--- a/CMakeModules/SourceFormat.cmake
+++ b/CMakeModules/SourceFormat.cmake
@@ -1,12 +1,22 @@
 # format source files with uncrustify
+
+# check that format checking is available - always use before SOURCE_FORMAT
+macro(SOURCE_FORMAT_ENABLE)
+    find_package(Uncrustify 0.71)
+    if(UNCRUSTIFY_FOUND)
+        set(SOURCE_FORMAT_ENABLED TRUE)
+    else()
+        set(SOURCE_FORMAT_ENABLED FALSE)
+    endif()
+endmacro()
+
 # files are expected to be a list and relative paths are resolved wtih respect to CMAKE_SOURCE DIR
 macro(SOURCE_FORMAT)
     if(NOT ${ARGC})
         message(FATAL_ERROR "source_format() needs a list of files to format!")
     endif()
 
-    find_package(Uncrustify 0.71)
-    if(UNCRUSTIFY_FOUND)
+    if(SOURCE_FORMAT_ENABLED)
         add_custom_target(format
                 COMMAND ${UNCRUSTIFY} -c ${CMAKE_SOURCE_DIR}/uncrustify.cfg --no-backup --replace ${ARGN}
                 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
@@ -16,5 +26,7 @@
                 COMMAND ${UNCRUSTIFY} -c ${CMAKE_SOURCE_DIR}/uncrustify.cfg --check ${ARGN}
                 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
                 COMMENT "Checking format of the sources with ${UNCRUSTIFY} ...")
+
+        set(SOURCE_FORMAT_ENABLED TRUE)
     endif()
 endmacro()
diff --git a/tests/style/CMakeLists.txt b/tests/style/CMakeLists.txt
index f820b16..d291510 100644
--- a/tests/style/CMakeLists.txt
+++ b/tests/style/CMakeLists.txt
@@ -1,2 +1,6 @@
 add_test(NAME headers
 	COMMAND ${CMAKE_SOURCE_DIR}/tests/style/check_includes.sh ${CMAKE_SOURCE_DIR}/src/ ${CMAKE_SOURCE_DIR}/tools/lint/ ${CMAKE_SOURCE_DIR}/tools/re/)
+
+if (${SOURCE_FORMAT_ENABLED})
+	add_test(NAME format WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND make format-check)
+endif()
