Clear the previous  hashmap once new SS is downloaded.
diff --git a/listener.go b/listener.go
index f770dba..cf18262 100644
--- a/listener.go
+++ b/listener.go
@@ -26,10 +26,11 @@
 
 func processSnapshot(snapshot *common.Snapshot) {
 
+	var prevDb string
 	if apidInfo.LastSnapshot != "" && apidInfo.LastSnapshot != snapshot.SnapshotInfo {
 		log.Debugf("Release snapshot for {%s}. Switching to version {%s}",
 			apidInfo.LastSnapshot , snapshot.SnapshotInfo)
-		dataService.ReleaseDB(apidInfo.LastSnapshot)
+		prevDb = apidInfo.LastSnapshot
 	} else {
 		log.Debugf("Process snapshot for version {%s}",
 			snapshot.SnapshotInfo)
@@ -51,6 +52,10 @@
 	setDB(db)
 	log.Debugf("Snapshot processed: %s", snapshot.SnapshotInfo)
 
+	// Releases the DB, when the Connection reference count reaches 0.
+	if prevDb != "" {
+		dataService.ReleaseDB(prevDb)
+	}
 }
 
 func processSqliteSnapshot(db apid.DB) {