diff --git a/+org.el b/+org.el
index 92d15da..acd0e5f 100644
--- a/+org.el
+++ b/+org.el
@@ -183,3 +183,27 @@
 (setq org-goto-interface 'outline-path-completion
       org-goto-max-level 1)
 (use-package! org-capture-ref)
+;; HACK Fix search folded sections
+(after! org-fold-core
+  (defun org-show-current-heading-tidily ()
+    (interactive)  ;Inteactive
+    "Show next entry, keeping other entries closed."
+    (if (save-excursion (end-of-line) (outline-invisible-p))
+        (progn (org-show-entry) (show-children))
+      (setq-local my:current_line (line-number-at-pos))
+      (outline-back-to-heading)
+      (unless (and (bolp) (org-on-heading-p))
+        (org-up-heading-safe)
+        (hide-subtree)
+        (error "Boundary reached"))
+      (org-overview)
+      (org-reveal t)
+      (org-show-entry)
+      (show-children)
+      (goto-line my:current_line)))
+  (defun qw/search-buffer ()
+    (interactive)
+    (org-fold-show-all)
+    (+default/search-buffer)
+    (org-show-current-heading-tidily)))
+(map! :leader :n "s s" #'qw/search-buffer)