diff --git a/mode/markdown/markdown.js b/mode/markdown/markdown.js
index <HASH>..<HASH> 100644
--- a/mode/markdown/markdown.js
+++ b/mode/markdown/markdown.js
@@ -700,14 +700,15 @@ CodeMirror.defineMode("markdown", function(cmCfg, modeCfg) {
       state.formatting = false;
 
       if (stream.sol()) {
-        var forceBlankLine = stream.match(/^\s*$/, true) || state.header;
+        var forceBlankLine = !!state.header;
 
         // Reset state.header
         state.header = 0;
 
-        if (forceBlankLine) {
+        if (stream.match(/^\s*$/, true) || forceBlankLine) {
           state.prevLineHasContent = false;
-          return blankLine(state);
+          blankLine(state);
+          return forceBlankLine ? this.token(stream, state) : null;
         } else {
           state.prevLineHasContent = state.thisLineHasContent;
           state.thisLineHasContent = true;
[markdown] Fix handling of forced blank lines (after headers)

Closes #<I>