diff --git a/plugins/metrics/message.go b/plugins/metrics/message.go
index e09e01685cbadb3541f71e6be30e36834223e155..4737eca7a52a2aa07808655332b2bfdc2f442e42 100644
--- a/plugins/metrics/message.go
+++ b/plugins/metrics/message.go
@@ -97,6 +97,8 @@ func MessageTotalCountDB() uint64 {
 
 // AvgSolidificationTime returns the average time it takes for a message to become solid. [milliseconds]
 func AvgSolidificationTime() float64 {
+	solidTimeMutex.RLock()
+	defer solidTimeMutex.RUnlock()
 	return (initialSumSolidificationTime + float64(sumSolidificationTime.Milliseconds())) / float64(MessageSolidCountDB())
 }
 
@@ -150,5 +152,5 @@ func measureInitialDBStats() {
 	initialMessageSolidCountDB.Store(uint64(solid))
 	initialMessageTotalCountDB.Store(uint64(total))
 	initialAvgSolidificationTime.Store(avgSolidTime)
-	initialSumSolidificationTime = avgSolidTime * float64(total)
+	initialSumSolidificationTime = avgSolidTime * float64(solid)
 }
diff --git a/plugins/metrics/plugin.go b/plugins/metrics/plugin.go
index 25063ec6c3ee3b7629c6b040cec077fab314b5fd..0217f968a038c65f57cc8d0cc795efba92cb6a99 100644
--- a/plugins/metrics/plugin.go
+++ b/plugins/metrics/plugin.go
@@ -111,13 +111,15 @@ 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) {
 		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())
+			if msgMetaData.IsSolid() {
+				messageSolidCountDBInc.Inc()
+				sumSolidificationTime += msgMetaData.SolidificationTime().Sub(msgMetaData.ReceivedTime())
+			}
 		})
 	}))