diff --git a/scripts/unit-test.py b/scripts/unit-test.py
index 16ffa11..1cf615b 100755
--- a/scripts/unit-test.py
+++ b/scripts/unit-test.py
@@ -399,6 +399,20 @@
             check_call_cmd(root, 'cat', os.path.join(root, 'test-suite.log'))
         raise Exception('Unit tests failed')
 
+def run_cppcheck(top_dir):
+    try:
+        # http://cppcheck.sourceforge.net/manual.pdf
+        ignore_list = ['-i%s' % path for path in os.listdir(top_dir) \
+                       if path.endswith('-src') or path.endswith('-build')]
+        ignore_list.extend(('-itest', '-iscripts'))
+        params = ['cppcheck', '-j', str(multiprocessing.cpu_count()),
+                  '--enable=all']
+        params.extend(ignore_list)
+        params.append('.')
+
+        check_call_cmd(top_dir, *params)
+    except CalledProcessError:
+        raise Exception('Cppcheck failed')
 
 def maybe_run_valgrind(top_dir):
     """
@@ -542,6 +556,7 @@
         run_unit_tests(top_dir)
         maybe_run_valgrind(top_dir)
         maybe_run_coverage(top_dir)
+        run_cppcheck(top_dir)
 
         os.umask(prev_umask)
 
@@ -556,6 +571,7 @@
             check_call_cmd(top_dir, 'ctest', '.')
         maybe_run_valgrind(top_dir)
         maybe_run_coverage(top_dir)
+        run_cppcheck(top_dir)
 
     else:
         print "Not a supported repo for CI Tests, exit"
