diff --git a/data.go b/data.go
index 0f8c412..6cd175a 100644
--- a/data.go
+++ b/data.go
@@ -80,13 +80,12 @@
 	return db
 }
 
+// caller is responsible for calling dbMux.Lock() and dbMux.Unlock()
 func SetDB(db apid.DB) {
-	dbMux.Lock()
 	if unsafeDB == nil { // init API when DB is initialized
 		go InitAPI()
 	}
 	unsafeDB = db
-	dbMux.Unlock()
 }
 
 // call whenever the list of deployments changes
diff --git a/listener.go b/listener.go
index 889e74c..7d9b056 100644
--- a/listener.go
+++ b/listener.go
@@ -62,17 +62,17 @@
 		log.Panicf("Error starting transaction: %v", err)
 	}
 
+	// ensure that no new database updates are made on old database
+	dbMux.Lock()
+
 	defer tx.Rollback()
 	for _, table := range snapshot.Tables {
 		var err error
 		switch table.Name {
 		case DEPLOYMENT_TABLE:
 			log.Debugf("Snapshot of %s with %d rows", table.Name, len(table.Rows))
-			if len(table.Rows) == 0 {
-				return
-			}
 			for _, row := range table.Rows {
-				addDeployment(tx, row)
+				err = addDeployment(tx, row)
 			}
 		}
 		if err != nil {
@@ -86,6 +86,7 @@
 	}
 
 	SetDB(db)
+	dbMux.Unlock()
 
 	// if no tables, this a startup event for an existing DB, start bundle downloads that didn't finish
 	if len(snapshot.Tables) == 0 {
