diff --git a/plugins/metrics/plugin.go b/plugins/metrics/plugin.go
index da6f20e022a63db41bb4973a0515f2f174d282bc..25063ec6c3ee3b7629c6b040cec077fab314b5fd 100644
--- a/plugins/metrics/plugin.go
+++ b/plugins/metrics/plugin.go
@@ -110,10 +110,11 @@ func registerLocalMetrics() {
 
 	// messages can only become solid once, then they stay like that, hence no .Dec() part
 	messagelayer.Tangle().Events.MessageSolid.Attach(events.NewClosure(func(cachedMessage *message.CachedMessage, cachedMessageMetadata *tangle.CachedMessageMetadata) {
-		defer cachedMessage.Release()
+		cachedMessage.Release()
 		messageSolidCountDBInc.Inc()
 		solidTimeMutex.Lock()
 		defer solidTimeMutex.Unlock()
+		// Consume should release cachedMessageMetadata
 		cachedMessageMetadata.Consume(func(object objectstorage.StorableObject) {
 			msgMetaData := object.(*tangle.MessageMetadata)
 			sumSolidificationTime += msgMetaData.SolidificationTime().Sub(msgMetaData.ReceivedTime())
diff --git a/plugins/prometheus/tangle.go b/plugins/prometheus/tangle.go
index 18561f6a98caf37119f2a47a5a9b5a7856d0fccf..10e7ef4f038e480be7e70efc88fcd53430c71563 100644
--- a/plugins/prometheus/tangle.go
+++ b/plugins/prometheus/tangle.go
@@ -44,7 +44,7 @@ func registerTangleMetrics() {
 	})
 
 	messageSolidCountDB = prometheus.NewGauge(prometheus.GaugeOpts{
-		Name: "tangle_message_solid_count",
+		Name: "tangle_message_solid_count_db",
 		Help: "number of solid messages on the node's database",
 	})