diff --git a/conf/configuration.go b/conf/configuration.go
index 1b095185e..d3e1a1f23 100644
--- a/conf/configuration.go
+++ b/conf/configuration.go
@@ -41,7 +41,10 @@ func LoadFromEnv() {
 		Sonic.Port = port
 	}
 	l := &multiconfig.EnvironmentLoader{}
-	l.Load(Sonic)
+	err := l.Load(Sonic)
+	if err != nil {
+		log.Error("Error parsing configuration from environment")
+	}
 }
 
 func LoadFromTags() {
@@ -55,7 +58,6 @@ func LoadFromFile(tomlFile string) {
 	if err != nil {
 		log.Error("Error loading configuration file", "file", tomlFile, err)
 	}
-	log.SetLogLevelString(Sonic.LogLevel)
 }
 
 func LoadFromLocalFile() {
@@ -68,6 +70,7 @@ func Load() {
 	LoadFromLocalFile()
 	LoadFromEnv()
 	LoadFromFlags()
+	log.SetLogLevelString(Sonic.LogLevel)
 }
 
 func init() {
diff --git a/main.go b/main.go
index f93c333c9..43d4c383e 100644
--- a/main.go
+++ b/main.go
@@ -2,11 +2,16 @@ package main
 
 import (
 	"github.com/cloudsonic/sonic-server/conf"
+	"github.com/cloudsonic/sonic-server/server"
 )
 
 func main() {
 	conf.Load()
 
+	if !conf.Sonic.DevDisableBanner {
+		server.ShowBanner()
+	}
+
 	a := CreateServer(conf.Sonic.MusicFolder)
 	a.MountRouter("/rest", CreateSubsonicAPIRouter())
 	a.MountRouter("/app", CreateAppRouter("/app"))
diff --git a/server/banner.go b/server/banner.go
index 9cda90eb1..9da9e2894 100644
--- a/server/banner.go
+++ b/server/banner.go
@@ -14,6 +14,6 @@ Version %s
 
 `
 
-func showBanner(version string) {
-	fmt.Printf(banner, version)
+func ShowBanner() {
+	fmt.Printf(banner, Version)
 }
diff --git a/server/server.go b/server/server.go
index 7346c982f..990e10770 100644
--- a/server/server.go
+++ b/server/server.go
@@ -25,9 +25,6 @@ type Server struct {
 
 func New(scanner *scanner.Scanner, ds model.DataStore) *Server {
 	a := &Server{Scanner: scanner, ds: ds}
-	if !conf.Sonic.DevDisableBanner {
-		showBanner(Version)
-	}
 	initMimeTypes()
 	initialSetup(ds)
 	a.initRoutes()