diff --git a/bundle.go b/bundle.go
index 468760c..54636da 100644
--- a/bundle.go
+++ b/bundle.go
@@ -176,6 +176,9 @@
 
 	if err != nil {
 		log.Errorf("Unable to download blob file blobId=%s err:%v", r.blobId, err)
+		if downloadedFile != "" && os.Remove(downloadedFile) != nil {
+			log.Debugf("Unable to remove temp file %s", downloadedFile)
+		}
 		return err
 	}
 
@@ -184,10 +187,13 @@
 	err = r.bm.dbMan.updateLocalFsLocation(r.blobId, downloadedFile)
 	if err != nil {
 		log.Errorf("updateLocalFsLocation failed: blobId=%s", r.blobId)
+		if downloadedFile != "" && os.Remove(downloadedFile) != nil {
+			log.Debugf("Unable to remove temp file %s", downloadedFile)
+		}
 		return err
 	}
 
-	log.Debugf("bundle downloaded: blobId=%s", r.blobId)
+	log.Debugf("bundle downloaded: blobId=%s filename=%s", r.blobId, downloadedFile)
 
 	// TODO send changed deployments to subscribers (API call with "block")
 	//r.bm.apiMan.addChangedDeployment(dep.ID)
diff --git a/data.go b/data.go
index 607c0ab..e1ac8fb 100644
--- a/data.go
+++ b/data.go
@@ -190,19 +190,21 @@
 }
 
 func (dbc *dbManager) updateLocalFsLocation(blobId, localFsLocation string) error {
-
-	stmt, err := dbc.getDb().Prepare(`
+	txn, err := dbc.getDb().Begin()
+	if err != nil {
+		return err
+	}
+	defer txn.Rollback()
+	_, err = txn.Exec(`
 		INSERT OR IGNORE INTO apid_blob_available (
 		id,
 		local_fs_location
-		) VALUES (?, ?);`)
+		) VALUES (?, ?);`, blobId, localFsLocation)
 	if err != nil {
-		log.Errorf("PREPARE updateLocalFsLocation failed: %v", err)
+		log.Errorf("INSERT apid_blob_available id {%s} local_fs_location {%s} failed", localFsLocation, err)
 		return err
 	}
-	defer stmt.Close()
-
-	_, err = stmt.Exec(blobId, localFsLocation)
+	err = txn.Commit()
 	if err != nil {
 		log.Errorf("UPDATE apid_blob_available id {%s} local_fs_location {%s} failed", localFsLocation, err)
 		return err
