diff --git a/.changeset/wet-tigers-double.md b/.changeset/wet-tigers-double.md
new file mode 100644
index 000000000..0a8307efb
--- /dev/null
+++ b/.changeset/wet-tigers-double.md
@@ -0,0 +1,5 @@
+---
+'slate': patch
+---
+
+Fixed Editor.above method that always returned undefined with Point location
diff --git a/packages/slate/src/interfaces/editor.ts b/packages/slate/src/interfaces/editor.ts
index 432cba21c..6e1f39aea 100644
--- a/packages/slate/src/interfaces/editor.ts
+++ b/packages/slate/src/interfaces/editor.ts
@@ -359,7 +359,7 @@ export const Editor: EditorInterface = {
match,
reverse,
})) {
- if (Text.isText(n)) return
+ if (Text.isText(n)) continue
if (Range.isRange(at)) {
if (
Path.isAncestor(p, at.anchor.path) &&
diff --git a/packages/slate/test/interfaces/Editor/above/point.tsx b/packages/slate/test/interfaces/Editor/above/point.tsx
new file mode 100644
index 000000000..f21c396fa
--- /dev/null
+++ b/packages/slate/test/interfaces/Editor/above/point.tsx
@@ -0,0 +1,18 @@
+/** @jsx jsx */
+
+import { Editor } from 'slate'
+import { jsx } from '../../..'
+
+export const input = (
+
+
+ one
+
+
+)
+
+export const test = editor => {
+ return Editor.above(editor, { at: { path: [0, 0, 0], offset: 1 } })
+}
+
+export const output = [one, [0, 0]]