diff --git a/themes/dewdrop.typ b/themes/dewdrop.typ
index 52437d8c0..95fdc1600 100644
--- a/themes/dewdrop.typ
+++ b/themes/dewdrop.typ
@@ -183,7 +183,7 @@
       if self.d-mini-slides.section {
         for slide in section.children.filter(it => it.kind == "slide") {
           final-count += 1
-          if final-count == current-count {
+          if i == current-i and final-count == current-count {
             [#link(slide.loc, sym.circle.filled)<touying-link>]
           } else {
             [#link(slide.loc, sym.circle)<touying-link>]
@@ -196,7 +196,7 @@
       for subsection in section.children.filter(it => it.kind != "slide") {
         for slide in subsection.children {
           final-count += 1
-          if final-count == current-count {
+          if i == current-i and final-count == current-count {
             [#link(slide.loc, sym.circle.filled)<touying-link>]
           } else {
             [#link(slide.loc, sym.circle)<touying-link>]
diff --git a/themes/simple.typ b/themes/simple.typ
index 6ac4f9b96..8236730e6 100644
--- a/themes/simple.typ
+++ b/themes/simple.typ
@@ -5,10 +5,6 @@
 #import "../utils/states.typ"
 
 #let slide(self: utils.empty-object, footer: auto, ..args) = {
-  self.page-args = self.page-args + (
-    footer-descent: 1em,
-    header-ascent: 1em,
-  )
   if footer != auto {
     self.simple-footer = footer
   }
@@ -83,6 +79,8 @@
     fill: self.colors.neutral-lightest,
     header: header,
     footer: footer,
+    footer-descent: 1em,
+    header-ascent: 1em,
   )
   // register methods
   self.methods.slide = slide