diff --git a/bin/installbfa.sh b/bin/installbfa.sh
index 2637669f5503b479779b2973caf503cbe83cb050..7f61f3354a3e66ca53e0c712d46e7e69cb0f2419 100755
--- a/bin/installbfa.sh
+++ b/bin/installbfa.sh
@@ -70,12 +70,18 @@ function web3install
         info "Initialising nodejs." &&
         runasownerof ~bfa npm init -y
     # nodejs package(s) that we need.
-    info "Installing nodejs module: require"
-    runasownerof ~bfa npm install require
-    if echo 'require("web3")' | runasownerof ~bfa nodejs 2>/dev/null
+    if ! runasownerof ~bfa npm ls require
+    then
+        info "Installing nodejs module: require"
+        runasownerof ~bfa npm install require
+    fi
+    if ! runasownerof ~bfa npm ls request
+    then
+        info "Installing nodejs module: request"
+        runasownerof ~bfa npm install request
+    fi
+    if ! runasownerof ~bfa npm ls web3
     then
-        true
-    else
     	info "Installing nodejs module: web3 (will show many warnings)"
     	runasownerof ~bfa npm install web3
     fi