diff --git a/bin/installbfa.sh b/bin/installbfa.sh
index 0c642c28c8b46a637aae84bab25fcefd10ab8e5d..c98b217d9d9069094382a5620c4ea1fcf45bccac 100755
--- a/bin/installbfa.sh
+++ b/bin/installbfa.sh
@@ -136,6 +136,21 @@ function gethinstall
     install --verbose --owner=bfa --group=bfa --target-directory=${HISBINDIR} ${NEW}/go-ethereum/build/bin/{geth,bootnode,abigen,ethkey,puppeth,rlpdump,wnode,swarm,swarm-smoke}
 }
 
+function initgenesis
+{
+    (
+        test -z "${BFAHOME}"
+        source ${BFAHOME}/bin/env
+        BFANETWORKDIR=${BFANETWORKDIR:-${BFAHOME}/network}
+        BFANODEDIR=${BFANODEDIR:-${BFANETWORKDIR}/node}
+        if [ ! -d "${BFANODEDIR}" -o ! -d "${BFANODEDIR}/geth/chaindata" ]
+        then 
+            info "Node is not initialised. Initialising with genesis."
+            geth --cache 0 --datadir "${BFANODEDIR}" init "${BFANETWORKDIR}/genesis.json"
+        fi
+    )
+}
+
 function aptinstall
 {
     for pkg in $*
@@ -244,5 +259,6 @@ userconfig
 nodejsinstall
 golanginstall
 gethinstall
+initgenesis
 cronit
 welcome