diff --git a/src/wp-includes/formatting.php b/src/wp-includes/formatting.php
index 12e5bee017..e2c8aef269 100644
--- a/src/wp-includes/formatting.php
+++ b/src/wp-includes/formatting.php
@@ -500,6 +500,9 @@ function wpautop( $pee, $br = true ) {
 	// Add a double line break below block-level closing tags.
 	$pee = preg_replace( '!(</' . $allblocks . '>)!', "$1\n\n", $pee );
 
+	// Add a double line break after hr tags, which are self closing.
+	$pee = preg_replace( '!(<hr\s*?/?>)!', "$1\n\n", $pee );
+
 	// Standardize newline characters to "\n".
 	$pee = str_replace( array( "\r\n", "\r" ), "\n", $pee );
 
diff --git a/tests/phpunit/tests/formatting/Autop.php b/tests/phpunit/tests/formatting/Autop.php
index 3f44949fe2..405b68ad34 100644
--- a/tests/phpunit/tests/formatting/Autop.php
+++ b/tests/phpunit/tests/formatting/Autop.php
@@ -312,7 +312,6 @@ Paragraph two.';
 			'h4',
 			'h5',
 			'h6',
-			'hr',
 			'fieldset',
 			'legend',
 			'section',
@@ -558,4 +557,13 @@ line 2<br/>
 		$this->assertEquals( $expected2, trim( wpautop( $content2 ) ) );
 	}
 
+	/**
+	 * @ticket 14674
+	 */
+	function test_the_hr_is_not_peed() {
+		$content  = 'paragraph1<hr>paragraph2';
+		$expected = "<p>paragraph1</p>\n<hr>\n<p>paragraph2</p>";
+
+		$this->assertEquals( $expected, trim( wpautop( $content ) ) );
+	}
 }
