I'm still experiencing this issue in Cppcheck 2.5, which has the fix above. The example that Tobias posted doesn't reproduce the issue any more, but this slightly different example still triggers it. Code: #include "missing-header.h" // cppcheck-suppress missingInclude int main(int argc, char **argv) { return 0; } When run without --cppcheck-build-dir, it succeeds (the warning is correctly suppressed), but when run twice with --cppcheck-build-dir, it produces a false positive: # First execution succeeds:...