diff --git a/.travis.yml b/.travis.yml
index 8a3316a09f88177f087826dbe90fb51277f5b6d9..282a334e92594740ed235450a1ef9136e33bb109 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,7 +25,7 @@ matrix:
   - os: linux
     dist: trusty
     sudo: required
-    env: CPPCHECK=yes CPPCHECK_VERSION=1.81
+    env: CPPCHECK=yes CPPCHECK_VERSION=1.84
 # then check with different optimization flags
   - os: linux
     dist: trusty
diff --git a/.travis/install.cppcheck b/.travis/install.cppcheck
index 767c23608e0f9cb1ae22482163b880293fb329d5..0fdf595b38b7b80c7d54f8d59c6ca0edf6272271 100755
--- a/.travis/install.cppcheck
+++ b/.travis/install.cppcheck
@@ -22,7 +22,7 @@ native="$($CC -march=native -Q --help=target | grep march= | awk '{print $2}')"
 # the object file should not be recycled
 
 git checkout $version
-make -j 4 install CFGDIR="$HOME/opt/share/cppcheck/" CXXFLAGS="-O2 -march="$native" -mtune="$native" -Wunreachable-code" PREFIX="$HOME/opt"
+make -j 4 install CFGDIR="$HOME/opt/share/cppcheck/" CXXFLAGS="-DNDEBUG -O2 -march="$native" -mtune="$native" -Wunreachable-code" PREFIX="$HOME/opt"
 cd ../
 
 cppcheck --version
diff --git a/src/maketools/codecheck b/src/maketools/codecheck
index 04db28d03920c8d7f9f980670630ba203faed513..81fb6f4a4463160698b69b59f3c22df8d43fa437 100755
--- a/src/maketools/codecheck
+++ b/src/maketools/codecheck
@@ -34,7 +34,9 @@ if [ $do_cppcheck == true ] ; then
   else
     files="$(echo */*.{h,cpp})"
   fi
-  cppcheck --std=c++11 --std=posix 4 -j 4 --platform=unix64 --language=c++ -U__PRETTY_FUNCTION__ \
+  cppcheck --std=c++11 --std=posix -j 4 --platform=unix64 --language=c++ \
+  -U__PRETTY_FUNCTION__ -U__PLUMED_HAS_EXTERNAL_LAPACK -U__PLUMED_HAS_EXTERNAL_BLAS \
+  -UGMX_CYGWIN  -UF77_NO_UNDERSCORE -U_GLIBCXX_DEBUG -DNDEBUG -U__PLUMED_PBC_WHILE  \
   --template='[{file}:{line}] ({severity}) :{id}: {message}' --enable=all --inline-suppr --force \
   $files
 fi