diff --git a/packages/slate/src/commands/at-range.js b/packages/slate/src/commands/at-range.js
index 574e2c8da..ed2b598b1 100644
--- a/packages/slate/src/commands/at-range.js
+++ b/packages/slate/src/commands/at-range.js
@@ -455,7 +455,8 @@ Commands.deleteWordForwardAtRange = (change, range) => {
const offset = startBlock.getOffset(start.key)
const o = offset + start.offset
const { text } = startBlock
- const n = TextUtils.getWordOffsetForward(text, o)
+ const wordOffset = TextUtils.getWordOffsetForward(text, o)
+ const n = wordOffset === 0 ? 1 : wordOffset
change.deleteForwardAtRange(range, n)
}
diff --git a/packages/slate/test/commands/at-current-range/delete-word-forward/join-blocks.js b/packages/slate/test/commands/at-current-range/delete-word-forward/join-blocks.js
new file mode 100644
index 000000000..2651be7fa
--- /dev/null
+++ b/packages/slate/test/commands/at-current-range/delete-word-forward/join-blocks.js
@@ -0,0 +1,28 @@
+/** @jsx h */
+
+import h from '../../../helpers/h'
+
+export default function(change) {
+ change.deleteWordForward()
+}
+
+export const input = (
+
+
+
+ word
+
+ another
+
+
+)
+
+export const output = (
+
+
+
+ wordanother
+
+
+
+)