diff --git a/cmd/mist/flags.go b/cmd/mist/flags.go
index 5283c332b294e11dc2371061a0ae7e2a321839e4..3aa2e21c809655e596103fd05db55d1cbdb1b05f 100644
--- a/cmd/mist/flags.go
+++ b/cmd/mist/flags.go
@@ -67,7 +67,7 @@ func defaultAssetPath() string {
 	// assume a debug build and use the source directory as
 	// asset directory.
 	pwd, _ := os.Getwd()
-	if pwd == path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "mist") {
+	if pwd == path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "cmd", "mist") {
 		assetPath = path.Join(pwd, "assets")
 	} else {
 		switch runtime.GOOS {
diff --git a/javascript/javascript_runtime.go b/javascript/javascript_runtime.go
index b0d7c81b52e5dfa2b99500aed2759f05f2040c15..704635d9763fc9a40d17d92edba446a3a2074906 100644
--- a/javascript/javascript_runtime.go
+++ b/javascript/javascript_runtime.go
@@ -41,7 +41,7 @@ func (jsre *JSRE) LoadExtFile(path string) {
 }
 
 func (jsre *JSRE) LoadIntFile(file string) {
-	assetPath := path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "mist", "assets", "ext")
+	assetPath := path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "cmd", "mist", "assets", "ext")
 	jsre.LoadExtFile(path.Join(assetPath, file))
 }
 
@@ -62,13 +62,13 @@ func NewJSRE(ethereum *eth.Ethereum) *JSRE {
 	re.LoadIntFile("string.js")
 	re.LoadIntFile("big.js")
 
-	// We have to make sure that, whoever calls this, calls "Stop"
-	go re.mainLoop()
-
 	// Subscribe to events
 	mux := ethereum.EventMux()
 	re.events = mux.Subscribe(ethchain.NewBlockEvent{})
 
+	// We have to make sure that, whoever calls this, calls "Stop"
+	go re.mainLoop()
+
 	re.Bind("eth", &JSEthereum{re.pipe, re.Vm, ethereum})
 
 	re.initStdFuncs()
diff --git a/utils/cmd.go b/utils/cmd.go
index 76faa5dac9755cd83a319565fd6f8bdc3b1ded28..c46e1f00d4f0049d7e783496aa5c66bc427a7311 100644
--- a/utils/cmd.go
+++ b/utils/cmd.go
@@ -192,7 +192,7 @@ func DefaultAssetPath() string {
 	// assume a debug build and use the source directory as
 	// asset directory.
 	pwd, _ := os.Getwd()
-	if pwd == path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "mist") {
+	if pwd == path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "cmd", "mist") {
 		assetPath = path.Join(pwd, "assets")
 	} else {
 		switch runtime.GOOS {