diff --git a/src/fr/japscan/build.gradle b/src/fr/japscan/build.gradle
index 19c960029..c8e166e1c 100644
--- a/src/fr/japscan/build.gradle
+++ b/src/fr/japscan/build.gradle
@@ -6,7 +6,7 @@ ext {
     extName = 'Japscan'
     pkgNameSuffix = 'fr.japscan'
     extClass = '.Japscan'
-    extVersionCode = 32
+    extVersionCode = 33
 }
 
 dependencies {
diff --git a/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt b/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt
index e1e5a2091..89f128af3 100644
--- a/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt
+++ b/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt
@@ -11,6 +11,7 @@ import android.os.Looper
 import android.util.Log
 import android.view.View
 import android.webkit.JavascriptInterface
+import android.webkit.ValueCallback
 import android.webkit.WebChromeClient
 import android.webkit.WebResourceRequest
 import android.webkit.WebResourceResponse
@@ -351,7 +352,7 @@ class Japscan : ConfigurableSource, ParsedHttpSource() {
         val zjs = client.newCall(GET(baseUrl + zjsurl, headers)).execute().body!!.string()
         Log.d("japscan", "webtoon, netdumping initiated")
         val pagesElement = document.getElementById("pages")
-        val pagecount = pagesElement.getElementsByTag("option").size
+        var pagecount = pagesElement.getElementsByTag("option").size
         val pages = ArrayList<Page>()
         val handler = Handler(Looper.getMainLooper())
         val checkNew = ArrayList<String>(pagecount)
@@ -376,6 +377,21 @@ class Japscan : ConfigurableSource, ParsedHttpSource() {
                     webview.settings.domStorageEnabled = true
                     webview.settings.userAgentString = webview.settings.userAgentString.replace("Mobile", "eliboM").replace("Android", "diordnA")
                     webview.webViewClient = object : WebViewClient() {
+                        override fun onPageFinished(view: WebView, url: String?) {
+                            if (pagecount === 0) {
+                                Log.d("japscan", "dynamic page count detected, loading it through JS")
+                                super.onPageFinished(view, url)
+                                view.evaluateJavascript(
+                                    "(function() { return document.getElementById('pages').length; })();",
+                                    object : ValueCallback<String> {
+                                        override fun onReceiveValue(numberOfPages: String?) {
+                                            pagecount = numberOfPages!!.toInt()
+                                        }
+                                    }
+                                )
+                            }
+                        }
+
                         override fun shouldInterceptRequest(
                             view: WebView,
                             request: WebResourceRequest