diff --git a/check_source/check_style_c.py b/check_source/check_style_c.py
index 4cbb65bddb33d9f6f66d42a48dc066b3a5d5151d..ad05a38f47e6611fc9a1eb8dfd9b90f2774d0ac6 100755
--- a/check_source/check_style_c.py
+++ b/check_source/check_style_c.py
@@ -1347,9 +1347,11 @@ def scan_source_recursive(dirpath, args):
             dirnames[:] = [d for d in dirnames if not d.startswith(".")]
 
             for filename in filenames:
-                filepath = join(dirpath, filename)
-                if filename_check is None or filename_check(filepath):
-                    yield filepath
+                # avoid scanning backup files
+                if not filename.startswith("."):
+                    filepath = join(dirpath, filename)
+                    if filename_check is None or filename_check(filepath):
+                        yield filepath
 
     def is_source(filename):
         # skip temp files