diff --git a/tools/dev/bash_profile b/tools/dev/bash_profile
index 5208643..a66d2b9 100644
--- a/tools/dev/bash_profile
+++ b/tools/dev/bash_profile
@@ -9,6 +9,10 @@
 # the protobuf buck rules can handle symlinks
 ONOS_ROOT=$(pushd $ONOS_ROOT >/dev/null && pwd -P && popd >/dev/null)
 
+# Rely on developer preference for automatically ignited apps
+# Default to drivers and gui2
+export ONOS_APPS=${ONOS_APPS:-drivers,openflow,gui2}
+
 # Setup some environmental context for developers
 if [ -z "${JAVA_HOME}" ]; then
     if [ -x /usr/libexec/java_home ]; then
@@ -54,16 +58,13 @@
         egrep "${1:-$ONOS_ROOT}" | awk '{print length($1)"\t"$1}'  | sort -n | cut -f2 | head -n 1)
 }
 
-# Buck (if "buck" is not on the PATH)
-[ -z "$(which buck)" ] && alias buck="onos-buck"
-
 # Short-hand for ONOS build, package and test.
 alias op="SHLVL=1 bazel build //:onos"
 alias ot="bazel run //:buildifier_check && bazel query 'tests(//...)' | grep -v "coverage" | SHLVL=1 xargs bazel test --test_summary=terse --test_output=errors"
 alias ob="op && ot"
 alias obd="SHLVL=1 bazel build //docs:external //docs:internal"
 
-alias ok="SHLVL=1 bazel run onos-local --"
+alias ok="SHLVL=1 bazel run //:onos-local --"
 alias oh="onos localhost halt"
 
 alias ol='onos-log'
@@ -73,7 +74,6 @@
 
 # Short-hand for tailing and searching the ONOS (karaf) log
 alias tl='$ONOS_ROOT/tools/dev/bin/onos-local-log'
-# alias gl='grep $KARAF_LOG --colour=auto -E -e '
 
 function filterLocalLog {
     tl | grep --colour=always -E -e "${1-org.onlab|org.onosproject}"
@@ -208,12 +208,11 @@
 export CELL_SLAVE_1=$CELL_WARDEN
 export CELL_SLAVE_2="10.192.19.71"
 export CELL_SLAVE_3="10.192.19.70"
-export CELL_SLAVE_4="10.192.19.77"   # disabled
 export CELL_SLAVES="$CELL_SLAVE_1 $CELL_SLAVE_2 $CELL_SLAVE_3"
 
 # Clears cell environment
 function clearCell {
-    unset ONOS_CELL ONOS_NIC ONOS_IP ONOS_APPS ONOS_BOOT_FEATURES
+    unset ONOS_CELL ONOS_IP ONOS_BOOT_FEATURES
     unset OCI OCN OCT ONOS_INSTANCES ONOS_CORES ONOS_FEATURES
     unset ONOS_USER ONOS_GROUP ONOS_WEB_USER ONOS_WEB_PASS
     unset $(env | sed -n 's:\(^OC[0-9]\{1,\}\)=.*:\1 :g p')
@@ -239,9 +238,6 @@
         curl -sS -X POST "http://$CELL_WARDEN:4321/?$query" -d "$(cat ~/.ssh/id_rsa.pub)" > $aux
         . $aux
         rm -f $aux
-        # This is a hack to get master running on the existing cell infrastructure
-        apps=${ONOS_APPS:-}
-        export ONOS_APPS=$apps,gui
         setPrimaryInstance 1 >/dev/null
         setMinorityMajority >/dev/null
         onos-verify-cell
@@ -279,8 +275,6 @@
     esac
 }
 
-[ -n "$ONOS_CELL" -a "$ONOS_CELL" != "borrow" ] && cell $ONOS_CELL > /dev/null
-
 # Lists available cells
 function cells {
     for cell in $(ls -1 $ONOS_ROOT/tools/test/cells); do
