diff --git a/src/all/mangadex/build.gradle b/src/all/mangadex/build.gradle
index 748c45d56..59ee7535d 100644
--- a/src/all/mangadex/build.gradle
+++ b/src/all/mangadex/build.gradle
@@ -5,7 +5,7 @@ ext {
     extName = 'MangaDex'
     pkgNameSuffix = 'all.mangadex'
     extClass = '.MangaDexFactory'
-    extVersionCode = 111
+    extVersionCode = 112
     libVersion = '1.2'
     containsNsfw = true
 }
diff --git a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDexHelper.kt b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDexHelper.kt
index 2a17bf29c..e7e7bcf6f 100644
--- a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDexHelper.kt
+++ b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDexHelper.kt
@@ -145,14 +145,17 @@ class MangaDexHelper() {
             val attr = data["attributes"].obj
 
             // things that will go with the genre tags but aren't actually genre
+
+            val tempContentRating = attr["contentRating"].nullString
+            val contentRating = if (tempContentRating == null || tempContentRating.equals("safe", true)) {
+                null
+            } else {
+                "Content rating: " + tempContentRating.capitalize(Locale.US)
+            }
+
             val nonGenres = listOf(
                 (attr["publicationDemographic"]?.nullString ?: "").capitalize(Locale.US),
-                (
-                    "Content rating: " + (
-                        attr["contentRating"].nullString
-                            ?: ""
-                        ).capitalize(Locale.US)
-                    ),
+                contentRating,
                 Locale(attr["originalLanguage"].nullString ?: "").displayLanguage
             )
 
@@ -266,14 +269,14 @@ class MangaDexHelper() {
             }
 
             attr["title"].nullString?.let {
-                if(it.isNotEmpty()){
-                   if (chapterName.isNotEmpty()) {
-                    chapterName.add("-")
-                   }
-                chapterName.add(it)
+                if (it.isNotEmpty()) {
+                    if (chapterName.isNotEmpty()) {
+                        chapterName.add("-")
+                    }
+                    chapterName.add(it)
                 }
             }
-          
+
             // if volume, chapter and title is empty its a oneshot
             if (chapterName.isEmpty()) {
                 chapterName.add("Oneshot")
diff --git a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDexInterceptors.kt b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDexInterceptors.kt
index c06384a97..4ba0c8bff 100644
--- a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDexInterceptors.kt
+++ b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDexInterceptors.kt
@@ -43,11 +43,14 @@ class MdAtHomeReportInterceptor(
         return chain.proceed(chain.request()).let { response ->
             val url = originalRequest.url.toString()
             if (url.contains(mdAtHomeUrlRegex)) {
+                val cachedImage = response.header("X-Cache", "") == "HIT"
                 val jsonString = gson.toJson(
                     mapOf(
                         "url" to url,
                         "success" to response.isSuccessful,
-                        "bytes" to response.peekBody(Long.MAX_VALUE).bytes().size
+                        "bytes" to response.peekBody(Long.MAX_VALUE).bytes().size,
+                        "duration" to response.receivedResponseAtMillis - response.sentRequestAtMillis,
+                        "cache" to cachedImage,
                     )
                 )