diff --git a/install-checks.sh b/install-checks.sh
index e70e4976a3ab8eac8f3c40ea3a5728630a4d7b88..19a354d7b393a0fb85a2e375cb74aafab07a4abc 100755
--- a/install-checks.sh
+++ b/install-checks.sh
@@ -88,11 +88,13 @@ installMarkdownLintIfNot() {
   fi
 }
 
-installRequiredNpmModules() {
-  cp package.json "${TOOLS_DIR}/package.json"
-  cp package-lock.json "${TOOLS_DIR}/package-lock.json"
-  npm i --prefix "${TOOLS_DIR}" --force
-  rm "${TOOLS_DIR}/package.json" "${TOOLS_DIR}/package-lock.json"
+installRequiredNpmModulesIfNot() {
+  if [ ! -f "$NODE_MODULES_DIR" ]; then
+    cp package.json "${TOOLS_DIR}/package.json"
+    cp package-lock.json "${TOOLS_DIR}/package-lock.json"
+    npm i --prefix "${TOOLS_DIR}" --force
+    rm "${TOOLS_DIR}/package.json" "${TOOLS_DIR}/package-lock.json"
+  fi
 }
 
 installPythonModules() {
@@ -100,36 +102,36 @@ installPythonModules() {
 }
 
 installGitLeaksIfNot() {
-  if [ ! -f "${GIT_LEAKS_CHECK_PATH}" ]; then
+  if [ ! -f "$GIT_LEAKS_CHECK_PATH" ]; then
     wget ${gitLeaksUrl} -O "${GIT_LEAKS_CHECK_PATH}"
     chmod +x "${GIT_LEAKS_CHECK_PATH}"
   fi
 }
 
 installGitSecretsIfNot() {
-  if [ ! -d "$GIT_SECRETS_CHECK_PATH" ]; then
+  if [ ! -f "$GIT_SECRETS_CHECK_PATH" ]; then
     git clone ${gitSecretsUrl} "${TMP_DIR}/git-secrets"
     cd "${TMP_DIR}/git-secrets" || exit
-    PREFIX="${GIT_SECRETS_CHECK_PATH}" make install
+    PREFIX="${TOOLS_DIR}/git-secrets" make install
   fi
 }
 
 installTFLintIfNot() {
-  if ! [ -x "$(command -v tflint)" ]; then
+  if [ ! -f "$TFLINT_CHECK_PATH" ]; then
     export TFLINT_INSTALL_PATH="$TOOLS_DIR"
     curl -fsSL ${tflintUrl} | bash
   fi
 }
 
 installTfsecIfNot() {
-  if [ ! -f "${TFSEC_CHECK_PATH}" ]; then
+  if [ ! -f "$TFSEC_CHECK_PATH" ]; then
     wget ${tfsecUrl} -O "${TFSEC_CHECK_PATH}"
     chmod +x "${TFSEC_CHECK_PATH}"
   fi
 }
 
 installTerrascanIfNot() {
-  if [ ! -f "${TERRASCAN_CHECK_PATH}" ]; then
+  if [ ! -f "$TERRASCAN_CHECK_PATH" ]; then
     curl -L "$(curl -s ${terrascanUrl} | grep -o -E "https://.+?_Linux_i386.tar.gz")" >"${TMP_DIR}/terrascan.tar.gz"
     tar -xf "${TMP_DIR}/terrascan.tar.gz" terrascan
     install terrascan "${TOOLS_DIR}"
@@ -138,7 +140,7 @@ installTerrascanIfNot() {
 }
 
 installSonarScannerIfNot() {
-  if [ ! -f "${SONAR_SCANNER_CHECK_PATH}" ]; then
+  if [ ! -f "$SONAR_SCANNER_CHECK_PATH" ]; then
     wget ${sonarScannerUrl} -O "${TMP_DIR}/sonar-scanner"
     unzip "${TMP_DIR}/sonar-scanner" -d "${TOOLS_DIR}"
     mv "${TOOLS_DIR}/sonar-scanner-4.6.2.2472-linux" "${TOOLS_DIR}/sonar-scanner"
@@ -152,7 +154,7 @@ createDirIfNot "${TMP_DIR}"
 createDirIfNot "${NODE_MODULES_DIR}"
 createDirIfNot "${CONFIG_DIR}"
 installPythonModules
-installRequiredNpmModules
+installRequiredNpmModulesIfNot
 downloadCheckStyleJarIfNot
 installShellCheckIfNot
 installHadolintlIfNot