Index: src/wp-includes/class.wp-scripts.php
===================================================================
--- src/wp-includes/class.wp-scripts.php	(revision 37156)
+++ src/wp-includes/class.wp-scripts.php	(working copy)
@@ -363,7 +363,7 @@
 		$tag = apply_filters( 'script_loader_tag', $tag, $handle, $src );
 
 		if ( $this->do_concat ) {
-			if ( $after_handle ) {
+			if ( $before_handle ) {
 				$this->print_html_before .= $tag;
 			} else {
 				$this->print_html .= $tag;
Index: tests/phpunit/tests/dependencies/scripts.php
===================================================================
--- tests/phpunit/tests/dependencies/scripts.php	(revision 37156)
+++ tests/phpunit/tests/dependencies/scripts.php	(working copy)
@@ -481,11 +481,11 @@
 		$print_scripts = get_echo( '_print_scripts' );
 
 		$ver = get_bloginfo( 'version' );
-		$expected  = "<script type='text/javascript' src='/directory/two.js?ver={$ver}'></script>\n";
+		$expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5B%5D=one,four&amp;ver={$ver}'></script>\n";
+		$expected .= "<script type='text/javascript' src='/directory/two.js?ver={$ver}'></script>\n";
 		$expected .= "<script type='text/javascript'>\nconsole.log(\"after two\");\n</script>\n";
 		$expected .= "<script type='text/javascript' src='/directory/three.js?ver={$ver}'></script>\n";
 		$expected .= "<script type='text/javascript'>\nconsole.log(\"after three\");\n</script>\n";
-		$expected .= "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5B%5D=one,four&amp;ver={$ver}'></script>\n";
 
 		$this->assertEquals( $expected, $print_scripts );
 	}
@@ -520,4 +520,81 @@
 		$this->assertEquals( '', $wp_scripts->print_html );
 	}
 
+	/**
+	 * @ticket 36392
+	 */
+	public function test_wp_add_inline_script_concat_with_core_dependency() {
+		global $wp_scripts;
+
+		wp_default_scripts( $wp_scripts );
+
+		$wp_scripts->base_url = '';
+		$wp_scripts->do_concat = true;
+
+		$ver = get_bloginfo( 'version' );
+		$expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5B%5D=jquery-core,jquery-migrate&amp;ver={$ver}'></script>\n";
+		$expected .= "<script type='text/javascript' src='http://example.com'></script>\n";
+		$expected .= "<script type='text/javascript'>\nconsole.log(\"after\");\n</script>\n";
+
+		wp_enqueue_script( 'test-example', 'http://example.com', array( 'jquery' ), null );
+		wp_add_inline_script( 'test-example', 'console.log("after");' );
+
+		wp_print_scripts();
+		$print_scripts = get_echo( '_print_scripts' );
+
+		$this->assertEquals( $expected, $print_scripts );
+	}
+
+	/**
+	 * @ticket 36392
+	 */
+	public function test_wp_add_inline_script_concat_with_conditional_and_core_dependency() {
+		global $wp_scripts;
+
+		wp_default_scripts( $wp_scripts );
+
+		$wp_scripts->base_url = '';
+		$wp_scripts->do_concat = true;
+
+		$ver = get_bloginfo( 'version' );
+		$expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5B%5D=jquery-core,jquery-migrate&amp;ver={$ver}'></script>\n";
+		$expected .= "<!--[if gte IE 9]>\n";
+		$expected .= "<script type='text/javascript' src='http://example.com'></script>\n";
+		$expected .= "<script type='text/javascript'>\nconsole.log(\"after\");\n</script>\n";
+		$expected .= "<![endif]-->\n";
+
+		wp_enqueue_script( 'test-example', 'http://example.com', array( 'jquery' ), null );
+		wp_add_inline_script( 'test-example', 'console.log("after");' );
+		wp_script_add_data( 'test-example', 'conditional', 'gte IE 9' );
+
+		wp_print_scripts();
+		$print_scripts = get_echo( '_print_scripts' );
+
+		$this->assertEquals( $expected, $print_scripts );
+	}
+
+	/**
+	 * @ticket 36392
+	 */
+	public function test_wp_add_inline_script_before_concat_with_core_dependency() {
+		global $wp_scripts;
+
+		wp_default_scripts( $wp_scripts );
+
+		$wp_scripts->base_url = '';
+		$wp_scripts->do_concat = true;
+
+		$ver = get_bloginfo( 'version' );
+		$expected  = "<script type='text/javascript' src='/wp-admin/load-scripts.php?c=0&amp;load%5B%5D=jquery-core,jquery-migrate&amp;ver={$ver}'></script>\n";
+		$expected .= "<script type='text/javascript'>\nconsole.log(\"before\");\n</script>\n";
+		$expected .= "<script type='text/javascript' src='http://example.com'></script>\n";
+
+		wp_enqueue_script( 'test-example', 'http://example.com', array( 'jquery' ), null );
+		wp_add_inline_script( 'test-example', 'console.log("before");', 'before' );
+
+		wp_print_scripts();
+		$print_scripts = get_echo( '_print_scripts' );
+
+		$this->assertEquals( $expected, $print_scripts );
+	}
 }
