diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
index 7422c3f50..3acc668c3 100644
--- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
+++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
@@ -387,17 +387,16 @@ object SettingsReaderScreen : SearchableSettings {
                 Preference.PreferenceItem.SwitchPreference(
                     pref = readerPreferences.webtoonDoubleTapZoomEnabled(),
                     title = stringResource(MR.strings.pref_double_tap_zoom),
-                    enabled = true,
+                ),
+                Preference.PreferenceItem.SwitchPreference(
+                    pref = readerPreferences.webtoonDisableZoomOut(),
+                    title = stringResource(MR.strings.pref_webtoon_disable_zoom_out),
                 ),
                 // SY -->
                 Preference.PreferenceItem.SwitchPreference(
                     pref = readerPreferences.pageTransitionsWebtoon(),
                     title = stringResource(MR.strings.pref_page_transitions),
                 ),
-                Preference.PreferenceItem.SwitchPreference(
-                    pref = readerPreferences.webtoonEnableZoomOut(),
-                    title = stringResource(SYMR.strings.enable_zoom_out),
-                ),
                 // SY <--
             ),
         )
diff --git a/app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt b/app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt
index df46a7c12..e2c1486e6 100644
--- a/app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt
+++ b/app/src/main/java/eu/kanade/presentation/reader/settings/ReadingModePage.kt
@@ -217,11 +217,6 @@ private fun ColumnScope.WebtoonViewerSettings(screenModel: ReaderSettingsScreenM
         label = stringResource(MR.strings.pref_page_transitions),
         pref = screenModel.preferences.pageTransitionsWebtoon(),
     )
-
-    CheckboxItem(
-        label = stringResource(SYMR.strings.enable_zoom_out),
-        pref = screenModel.preferences.webtoonEnableZoomOut(),
-    )
     // SY <--
 
     val dualPageSplitWebtoon by screenModel.preferences.dualPageSplitWebtoon().collectAsState()
@@ -254,6 +249,10 @@ private fun ColumnScope.WebtoonViewerSettings(screenModel: ReaderSettingsScreenM
         label = stringResource(MR.strings.pref_double_tap_zoom),
         pref = screenModel.preferences.webtoonDoubleTapZoomEnabled(),
     )
+    CheckboxItem(
+        label = stringResource(MR.strings.pref_webtoon_disable_zoom_out),
+        pref = screenModel.preferences.webtoonDisableZoomOut(),
+    )
 }
 
 // SY -->
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
index d5cf6d844..9203ed1b0 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
@@ -78,7 +78,7 @@ class ReaderPreferences(
 
     fun skipDupe() = preferenceStore.getBoolean("skip_dupe", false)
 
-    fun markReadDupe() = preferenceStore.getBoolean("mark_read_dupe", false)
+    fun webtoonDisableZoomOut() = preferenceStore.getBoolean("webtoon_disable_zoom_out", false)
 
     // endregion
 
@@ -162,8 +162,6 @@ class ReaderPreferences(
 
     fun useAutoWebtoon() = preferenceStore.getBoolean("eh_use_auto_webtoon", true)
 
-    fun webtoonEnableZoomOut() = preferenceStore.getBoolean("webtoon_enable_zoom_out", false)
-
     fun continuousVerticalTappingByPage() = preferenceStore.getBoolean("continuous_vertical_tapping_by_page", false)
 
     fun cropBordersContinuousVertical() = preferenceStore.getBoolean("crop_borders_continues_vertical", false)
@@ -183,6 +181,8 @@ class ReaderPreferences(
     fun centerMarginType() = preferenceStore.getInt("center_margin_type", PagerConfig.CenterMarginType.NONE)
 
     fun cacheArchiveMangaOnDisk() = preferenceStore.getBoolean("cache_archive_manga_on_disk", false)
+
+        fun markReadDupe() = preferenceStore.getBoolean("mark_read_dupe", false)
     // SY <--
 
     enum class TappingInvertMode(
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt
index 408301c91..b0b0d8547 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt
@@ -29,6 +29,11 @@ class WebtoonConfig(
     var imageCropBorders = false
         private set
 
+    var zoomOutDisabled = false
+        private set
+
+    var zoomPropertyChangedListener: ((Boolean) -> Unit)? = null
+
     var sidePadding = 0
         private set
 
@@ -42,14 +47,9 @@ class WebtoonConfig(
     // SY -->
     var usePageTransitions = false
 
-    var enableZoomOut = false
-        private set
-
     var continuousCropBorders = false
         private set
 
-    var zoomPropertyChangedListener: ((Boolean) -> Unit)? = null
-
     // SY <--
     init {
         readerPreferences.cropBordersWebtoon()
@@ -86,6 +86,12 @@ class WebtoonConfig(
                 { imagePropertyChangedListener?.invoke() },
             )
 
+        readerPreferences.webtoonDisableZoomOut()
+            .register(
+                { zoomOutDisabled = it },
+                { zoomPropertyChangedListener?.invoke(it) }
+            )
+
         readerPreferences.webtoonDoubleTapZoomEnabled()
             .register(
                 { doubleTapZoom = it },
@@ -99,9 +105,6 @@ class WebtoonConfig(
             .launchIn(scope)
 
         // SY -->
-        readerPreferences.webtoonEnableZoomOut()
-            .register({ enableZoomOut = it }, { zoomPropertyChangedListener?.invoke(it) })
-
         readerPreferences.cropBordersContinuousVertical()
             .register({ continuousCropBorders = it }, { imagePropertyChangedListener?.invoke() })
 
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonFrame.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonFrame.kt
index 01ea35c08..17aafc6fd 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonFrame.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonFrame.kt
@@ -33,13 +33,11 @@ class WebtoonFrame(context: Context) : FrameLayout(context) {
             scaleDetector.isQuickScaleEnabled = value
         }
 
-    // SY -->
-    var enableZoomOut = false
+    var zoomOutDisabled = false
         set(value) {
             field = value
-            recycler?.canZoomOut = value
+            recycler?.zoomOutDisabled = value
         }
-    // SY <--
 
     /**
      * Recycler view added in this frame.
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt
index ce696a19d..20c18c622 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt
@@ -33,19 +33,15 @@ class WebtoonRecyclerView @JvmOverloads constructor(
     private var firstVisibleItemPosition = 0
     private var lastVisibleItemPosition = 0
     private var currentScale = DEFAULT_RATE
-
-    // SY -->
-    var canZoomOut = false
+    var zoomOutDisabled = false
         set(value) {
             field = value
-            if (!value) {
+            if (value && currentScale < DEFAULT_RATE) {
                 zoom(currentScale, DEFAULT_RATE, x, 0f, y, 0f)
             }
         }
-
     private val minRate
-        get() = if (canZoomOut) MIN_RATE else DEFAULT_RATE
-    // SY <--
+        get() = if (zoomOutDisabled) DEFAULT_RATE else MIN_RATE
 
     private val listener = GestureListener()
     private val detector = Detector()
@@ -179,9 +175,7 @@ class WebtoonRecyclerView @JvmOverloads constructor(
     fun onScale(scaleFactor: Float) {
         currentScale *= scaleFactor
         currentScale = currentScale.coerceIn(
-            // SY -->
             minRate,
-            // SY <--
             MAX_SCALE_RATE,
         )
 
@@ -208,8 +202,8 @@ class WebtoonRecyclerView @JvmOverloads constructor(
     }
 
     fun onScaleEnd() {
-        if (scaleX < /* SY --> */ minRate /* SY <-- */) {
-            zoom(currentScale, /* SY --> */ minRate /* SY <-- */, x, 0f, y, 0f)
+        if (scaleX < minRate) {
+            zoom(currentScale, minRate, x, 0f, y, 0f)
         }
     }
 
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt
index 5eb74998b..2785ba838 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt
@@ -159,17 +159,15 @@ class WebtoonViewer(
             frame.doubleTapZoom = it
         }
 
+        config.zoomPropertyChangedListener = {
+            frame.zoomOutDisabled = it
+        }
+
         config.navigationModeChangedListener = {
             val showOnStart = config.navigationOverlayOnStart || config.forceNavigationOverlay
             activity.binding.navigationOverlay.setNavigation(config.navigator, showOnStart)
         }
 
-        // SY -->
-        config.zoomPropertyChangedListener = {
-            frame.enableZoomOut = it
-        }
-        // SY <--
-
         frame.layoutParams = ViewGroup.LayoutParams(MATCH_PARENT, MATCH_PARENT)
         frame.addView(recycler)
     }
diff --git a/i18n/src/commonMain/resources/MR/base/strings.xml b/i18n/src/commonMain/resources/MR/base/strings.xml
index 22ede657d..ba9e40b7b 100755
--- a/i18n/src/commonMain/resources/MR/base/strings.xml
+++ b/i18n/src/commonMain/resources/MR/base/strings.xml
@@ -458,6 +458,7 @@
     <string name="pref_high">High</string>
     <string name="pref_low">Low</string>
     <string name="pref_lowest">Lowest</string>
+    <string name="pref_webtoon_disable_zoom_out">Disable zoom out</string>
 
       <!-- Downloads section -->
     <string name="pref_category_delete_chapters">Delete chapters</string>