diff --git a/multisrc/overrides/heancms/yugenmangas/src/YugenMangas.kt b/multisrc/overrides/heancms/yugenmangas/src/YugenMangas.kt
index 60343a753..ce8e5993f 100644
--- a/multisrc/overrides/heancms/yugenmangas/src/YugenMangas.kt
+++ b/multisrc/overrides/heancms/yugenmangas/src/YugenMangas.kt
@@ -1,9 +1,17 @@
 package eu.kanade.tachiyomi.extension.es.yugenmangas
 
+import android.app.Application
+import android.content.SharedPreferences
 import eu.kanade.tachiyomi.multisrc.heancms.Genre
 import eu.kanade.tachiyomi.multisrc.heancms.HeanCms
 import eu.kanade.tachiyomi.network.interceptor.rateLimitHost
 import okhttp3.HttpUrl.Companion.toHttpUrl
+import okhttp3.Interceptor
+import okhttp3.ProtocolException
+import okhttp3.Response
+import uy.kohesive.injekt.Injekt
+import uy.kohesive.injekt.api.get
+import java.io.IOException
 import java.text.SimpleDateFormat
 import java.util.TimeZone
 import java.util.concurrent.TimeUnit
@@ -19,6 +27,62 @@ class YugenMangas :
     // Site changed from Madara to HeanCms.
     override val versionId = 2
 
+    override val baseUrl by lazy { getPrefBaseUrl() }
+
+    private val preferences by lazy {
+        Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
+    }
+
+    private var lastDomain = ""
+
+    private fun domainChangeIntercept(chain: Interceptor.Chain): Response {
+        val request = chain.request()
+
+        if (!request.url.host.startsWith("yugenmangas")) {
+            return chain.proceed(request)
+        }
+
+        if (lastDomain.isNotEmpty()) {
+            val newUrl = request.url.newBuilder()
+                .host(preferences.baseUrlHost)
+                .build()
+
+            return chain.proceed(
+                request.newBuilder()
+                    .url(newUrl)
+                    .build(),
+            )
+        }
+
+        val response = try {
+            chain.proceed(request)
+        } catch (e: ProtocolException) {
+            if (e.message?.contains("Too many follow-up requests") == true) {
+                throw IOException("No se pudo obtener la nueva URL del sitio")
+            } else {
+                throw e
+            }
+        }
+
+        if (request.url.host == response.request.url.host) return response
+
+        response.close()
+
+        preferences.baseUrlHost = response.request.url.host
+
+        lastDomain = request.url.host
+
+        val newUrl = request.url.newBuilder()
+            .host(response.request.url.host)
+            .build()
+
+        return chain.proceed(
+            request.newBuilder()
+                .url(newUrl)
+                .build(),
+        )
+    }
+
     override val slugStrategy = SlugStrategy.ID
     override val useNewQueryEndpoint = true
 
@@ -26,6 +90,7 @@ class YugenMangas :
         .connectTimeout(60, TimeUnit.SECONDS)
         .readTimeout(90, TimeUnit.SECONDS)
         .rateLimitHost(apiUrl.toHttpUrl(), 2, 3)
+        .addInterceptor(::domainChangeIntercept)
         .build()
 
     override val coverPath: String = ""
@@ -84,4 +149,17 @@ class YugenMangas :
         Genre("Yaoi", 43),
         Genre("Yuri", 44),
     )
+
+    companion object {
+        private const val defaultBaseUrlHost = "yugenmangas.net"
+        private const val BASE_URL_PREF = "prefOverrideBaseUrl"
+    }
+
+    private var SharedPreferences.baseUrlHost
+        get() = getString(BASE_URL_PREF, defaultBaseUrlHost) ?: defaultBaseUrlHost
+        set(newHost) {
+            edit().putString(BASE_URL_PREF, newHost).commit()
+        }
+
+    private fun getPrefBaseUrl(): String = preferences.baseUrlHost.let { "https://$it" }
 }
diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsGenerator.kt
index d78723d93..af5a8bc66 100644
--- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsGenerator.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/heancms/HeanCmsGenerator.kt
@@ -16,7 +16,7 @@ class HeanCmsGenerator : ThemeSourceGenerator {
         SingleLang("Omega Scans", "https://omegascans.org", "en", isNsfw = true, overrideVersionCode = 17),
         SingleLang("Perf Scan", "https://perf-scan.fr", "fr"),
         SingleLang("Reaper Scans", "https://reaperscans.net", "pt-BR", overrideVersionCode = 36),
-        SingleLang("YugenMangas", "https://yugenmangas.net", "es", isNsfw = true, overrideVersionCode = 8),
+        SingleLang("YugenMangas", "https://yugenmangas.net", "es", isNsfw = true, overrideVersionCode = 9),
     )
 
     companion object {