diff --git a/cmd/rekor-server/app/serve.go b/cmd/rekor-server/app/serve.go
index e55d9017d11cadc901ea2eebc992f071e83828dc..a55bd362948beb60124ace87f25e58ed97a623e1 100644
--- a/cmd/rekor-server/app/serve.go
+++ b/cmd/rekor-server/app/serve.go
@@ -113,7 +113,7 @@ var serveCmd = &cobra.Command{
 			log.Logger.Fatalf("unable get sharding details from sharding config: %v", err)
 		}
 
-		api.ConfigureAPI(ranges)
+		api.ConfigureAPI(ranges, treeID)
 		server.ConfigureAPI()
 
 		http.Handle("/metrics", promhttp.Handler())
diff --git a/pkg/api/api.go b/pkg/api/api.go
index 8d96e093907a8c391496f7c5b3512e70c0860c00..7d779b05dee7f4baf5b9a1796c8daa2a0a0615fb 100644
--- a/pkg/api/api.go
+++ b/pkg/api/api.go
@@ -66,7 +66,7 @@ type API struct {
 	certChainPem string              // PEM encoded timestamping cert chain
 }
 
-func NewAPI(ranges sharding.LogRanges) (*API, error) {
+func NewAPI(ranges sharding.LogRanges, treeID uint) (*API, error) {
 	logRPCServer := fmt.Sprintf("%s:%d",
 		viper.GetString("trillian_log_server.address"),
 		viper.GetUint("trillian_log_server.port"))
@@ -78,16 +78,17 @@ func NewAPI(ranges sharding.LogRanges) (*API, error) {
 	logAdminClient := trillian.NewTrillianAdminClient(tConn)
 	logClient := trillian.NewTrillianLogClient(tConn)
 
-	tLogID := viper.GetInt64("trillian_log_server.tlog_id")
-	if tLogID == 0 {
-		log.Logger.Info("No tree ID specified, attempting to intitialize one")
+	tid := int64(treeID)
+	if tid == 0 {
+		log.Logger.Info("No tree ID specified, attempting to create a new tree")
 		t, err := createAndInitTree(ctx, logAdminClient, logClient)
 		if err != nil {
 			return nil, errors.Wrap(err, "create and init tree")
 		}
-		tLogID = t.TreeId
+		tid = t.TreeId
 	}
-	ranges.SetActive(tLogID)
+	log.Logger.Infof("Starting Rekor server with active tree %v", tid)
+	ranges.SetActive(tid)
 
 	rekorSigner, err := signer.New(ctx, viper.GetString("rekor_server.signer"))
 	if err != nil {
@@ -140,7 +141,7 @@ func NewAPI(ranges sharding.LogRanges) (*API, error) {
 	return &API{
 		// Transparency Log Stuff
 		logClient: logClient,
-		logID:     tLogID,
+		logID:     tid,
 		logRanges: ranges,
 		// Signing/verifying fields
 		pubkey:     string(pubkey),
@@ -159,11 +160,11 @@ var (
 	storageClient storage.AttestationStorage
 )
 
-func ConfigureAPI(ranges sharding.LogRanges) {
+func ConfigureAPI(ranges sharding.LogRanges, treeID uint) {
 	cfg := radix.PoolConfig{}
 	var err error
 
-	api, err = NewAPI(ranges)
+	api, err = NewAPI(ranges, treeID)
 	if err != nil {
 		log.Logger.Panic(err)
 	}
diff --git a/pkg/api/entries.go b/pkg/api/entries.go
index f272677fbc155701269ddcd0dace1795bae74dab..d88770f63c241a302c27bcbd851bb98563dfdef3 100644
--- a/pkg/api/entries.go
+++ b/pkg/api/entries.go
@@ -281,7 +281,7 @@ func GetLogEntryByUUIDHandler(params entries.GetLogEntryByUUIDParams) middleware
 	var tid int64
 	tidString, err := sharding.GetTreeIDFromIDString(params.EntryUUID)
 	if err != nil {
-		// If EntryID is plain UUID, assume no sharding and use ActiveIndex. The ActiveIndex
+		// If EntryID is plain UUID, assume no sharding and use ActiveTreeID. The ActiveTreeID
 		// will == the tlog_id if a tlog_id is passed in at server startup.
 		if err.Error() == "cannot get treeID from plain UUID" {
 			tid = api.logRanges.ActiveTreeID()
diff --git a/pkg/api/trillian_client.go b/pkg/api/trillian_client.go
index 93610f193dd8368da79e0d6847715d9bdcd0bb63..26ab0bb564e85563532a35e2e82d83de4ef27944 100644
--- a/pkg/api/trillian_client.go
+++ b/pkg/api/trillian_client.go
@@ -320,21 +320,6 @@ func (t *TrillianClient) getConsistencyProof(firstSize, lastSize int64) *Respons
 }
 
 func createAndInitTree(ctx context.Context, adminClient trillian.TrillianAdminClient, logClient trillian.TrillianLogClient) (*trillian.Tree, error) {
-	// First look for and use an existing tree
-	trees, err := adminClient.ListTrees(ctx, &trillian.ListTreesRequest{})
-	if err != nil {
-		return nil, errors.Wrap(err, "list trees")
-	}
-
-	for _, t := range trees.Tree {
-		if t.TreeType == trillian.TreeType_LOG {
-			log.Logger.Infof("Found existing tree with ID: %v", t.TreeId)
-			return t, nil
-		}
-	}
-
-	log.Logger.Infof("No existing tree found, attempting to create a new one")
-	// Otherwise create and initialize one
 	t, err := adminClient.CreateTree(ctx, &trillian.CreateTreeRequest{
 		Tree: &trillian.Tree{
 			TreeType:        trillian.TreeType_LOG,
diff --git a/pkg/sharding/ranges.go b/pkg/sharding/ranges.go
index 22750c3f8d52f5a9dc90113d7f25b91846219830..502088081ebe28a2ee2ea9cf6eac905632ec6b5f 100644
--- a/pkg/sharding/ranges.go
+++ b/pkg/sharding/ranges.go
@@ -16,12 +16,13 @@
 package sharding
 
 import (
+	"errors"
 	"fmt"
 	"io/ioutil"
 	"strings"
 
 	"github.com/ghodss/yaml"
-	"github.com/pkg/errors"
+	"github.com/sigstore/rekor/pkg/log"
 )
 
 type LogRanges struct {
@@ -38,6 +39,7 @@ type LogRange struct {
 
 func NewLogRanges(path string, treeID uint) (LogRanges, error) {
 	if path == "" {
+		log.Logger.Info("No config file specified, skipping init of logRange map")
 		return LogRanges{}, nil
 	}
 	if treeID == 0 {