Index: src/wp-includes/general-template.php
===================================================================
--- src/wp-includes/general-template.php	(revision 37671)
+++ src/wp-includes/general-template.php	(working copy)
@@ -879,13 +879,20 @@
 
 	// We have a logo. Logo is go.
 	if ( $custom_logo_id ) {
-		$html = sprintf( '<a href="%1$s" class="custom-logo-link" rel="home" itemprop="url">%2$s</a>',
-			esc_url( home_url( '/' ) ),
-			wp_get_attachment_image( $custom_logo_id, 'full', false, array(
-				'class'    => 'custom-logo',
-				'itemprop' => 'logo',
-			) )
-		);
+		$custom_logo = wp_get_attachment_image( $custom_logo_id, 'full', false, array(
+			'class'    => 'custom-logo',
+			'itemprop' => 'logo',
+		) );
+		if ( is_front_page() ) {
+			$html = $custom_logo;
+
+		// If not on the front page, link the logo to home.
+		} else {
+			$html = sprintf( '<a href="%1$s" class="custom-logo-link" rel="home" itemprop="url">%2$s</a>',
+				esc_url( home_url( '/' ) ),
+				$custom_logo
+			);
+		}
 	}
 
 	// If no logo is set but we're in the Customizer, leave a placeholder (needed for the live preview).
