Index: src/wp-content/themes/twentyfifteen/footer.php
===================================================================
--- src/wp-content/themes/twentyfifteen/footer.php	(revision 30470)
+++ src/wp-content/themes/twentyfifteen/footer.php	(working copy)
@@ -12,19 +12,20 @@
 
 	</div><!-- .site-content -->
 
-	<footer id="colophon" class="site-footer" role="contentinfo">
-		<div class="site-info">
-			<?php
-				/**
-				 * Fires before the Twenty Fifteen footer text for footer customization.
-				 *
-				 * @since Twenty Fifteen 1.0
-				 */
-				do_action( 'twentyfifteen_credits' );
-			?>
-			<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyfifteen' ) ); ?>"><?php printf( esc_html__( 'Proudly powered by %s', 'twentyfifteen' ), 'WordPress' ); ?></a>
-		</div><!-- .site-info -->
-	</footer><!-- .site-footer -->
+		<footer id="colophon" class="site-footer" role="contentinfo">
+			<div class="site-info">
+				<?php
+					/**
+					 * Fires before the Twenty Fifteen footer text for footer customization.
+					 *
+					 * @since Twenty Fifteen 1.0
+					 */
+					do_action( 'twentyfifteen_credits' );
+				?>
+				<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyfifteen' ) ); ?>"><?php printf( esc_html__( 'Proudly powered by %s', 'twentyfifteen' ), 'WordPress' ); ?></a>
+			</div><!-- .site-info -->
+		</footer><!-- .site-footer -->
+	</div><!-- .main-wrapper -->
 
 </div><!-- .site -->
 
Index: src/wp-content/themes/twentyfifteen/header.php
===================================================================
--- src/wp-content/themes/twentyfifteen/header.php	(revision 30470)
+++ src/wp-content/themes/twentyfifteen/header.php	(working copy)
@@ -47,5 +47,6 @@
 
 		<?php get_sidebar(); ?>
 	</div><!-- .sidebar -->
-
-	<div id="content" class="site-content">
+	
+	<div id="main-wrapper" class="main-wrapper">
+		<div id="content" class="site-content">
\ No newline at end of file
Index: src/wp-content/themes/twentyfifteen/js/functions.js
===================================================================
--- src/wp-content/themes/twentyfifteen/js/functions.js	(revision 30470)
+++ src/wp-content/themes/twentyfifteen/js/functions.js	(working copy)
@@ -6,9 +6,9 @@
  */
 
 ( function( $ ) {
-	var $body, $window, $document, $sidebar, adminbarOffset, top = false,
+	var $body, $window, $document, $mainWrapper, $sidebar, adminbarOffset, top = false,
 		bottom = false, windowWidth, windowHeight, lastWindowPos = 0,
-		topOffset = 0, documentHeight, sidebarWidth, sidebarHeight, resizeTimer;
+		topOffset = 0, documentHeight, mainWrapperHeight, sidebarWidth, sidebarHeight, resizeTimer;
 
 	// Add dropdown toggle that display child menu items.
 	$( '.main-navigation .page_item_has_children > a, .main-navigation .menu-item-has-children > a' ).after( '<button class="dropdown-toggle" aria-expanded="false">' + screenReaderText.expand + '</button>' );
@@ -55,45 +55,50 @@
 		windowWidth = $window.width();
 		windowHeight = $window.height();
 		documentHeight = $document.height();
+		mainWrapperHeight = $mainWrapper.height();
 		sidebarHeight = $sidebar.height();
 
 		if ( 955 >= windowWidth ) {
 			top = bottom = false;
 			$sidebar.removeAttr( 'style' );
+			$mainWrapper.removeAttr( 'style' );
 		}
 	}
-
+	
 	function scroll() {
-		var windowPos = $window.scrollTop();
-
-		if ( 955 <= windowWidth && sidebarHeight + adminbarOffset < documentHeight ) {
-			if ( sidebarHeight + adminbarOffset > windowHeight ) {
+		var windowPos, $pane, paneHeight;
+		windowPos = $window.scrollTop();
+		$pane = ( sidebarHeight > mainWrapperHeight ) ? $mainWrapper : $sidebar;
+		paneHeight = $pane.height();	
+		
+		if ( 955 <= windowWidth && paneHeight + adminbarOffset < documentHeight ) {
+			if ( paneHeight + adminbarOffset > windowHeight ) {
 				if ( windowPos > lastWindowPos ) {
 					if ( top ) {
 						top = false;
-						topOffset = ( $sidebar.offset().top > 0 ) ? $sidebar.offset().top - adminbarOffset : 0;
-						$sidebar.attr( 'style', 'top: ' + topOffset + 'px;' );
-					} else if ( ! bottom && windowPos + windowHeight > sidebarHeight + $sidebar.offset().top ) {
+						topOffset = ( $pane.offset().top > 0 ) ? $pane.offset().top - adminbarOffset : 0;
+						$pane.attr( 'style', 'top: ' + topOffset + 'px;' );
+					} else if ( ! bottom && windowPos + windowHeight > paneHeight + $pane.offset().top ) {
 						bottom = true;
-						$sidebar.attr( 'style', 'position: fixed;bottom: 0;' );
+						$pane.attr( 'style', 'position: fixed;bottom: 0;' );
 					}
 				} else if ( windowPos < lastWindowPos ) {
 					if ( bottom ) {
 						bottom = false;
-						topOffset = ( $sidebar.offset().top > 0 ) ? $sidebar.offset().top - adminbarOffset : 0;
-						$sidebar.attr( 'style', 'top: ' + topOffset + 'px;' );
-					} else if ( ! top && windowPos + adminbarOffset < $sidebar.offset().top ) {
+						topOffset = ( $pane.offset().top > 0 ) ? $pane.offset().top - adminbarOffset : 0;
+						$pane.attr( 'style', 'top: ' + topOffset + 'px;' );
+					} else if ( ! top && windowPos + adminbarOffset < $pane.offset().top ) {
 						top = true;
-						$sidebar.attr( 'style', 'position: fixed;' );
+						$pane.attr( 'style', 'position: fixed;' );
 					}
 				} else {
 					top = bottom = false;
-					topOffset = ( $sidebar.offset().top > 0 ) ? $sidebar.offset().top - adminbarOffset : 0;
-					$sidebar.attr( 'style', 'top: ' + topOffset + 'px;' );
+					topOffset = ( $pane.offset().top > 0 ) ? $pane.offset().top - adminbarOffset : 0;
+					$pane.attr( 'style', 'top: ' + topOffset + 'px;' );
 				}
 			} else if ( ! top ) {
 				top = true;
-				$sidebar.attr( 'style', 'position: fixed;' );
+				$pane.attr( 'style', 'position: fixed;' );
 			}
 		}
 
@@ -109,9 +114,10 @@
 		$body          = $( 'body' );
 		$window        = $( window );
 		$document      = $( document );
-		$sidebar        = $( '#sidebar' ).first();
+		$mainWrapper   = $( '#main-wrapper' ).first();
+		$sidebar       = $( '#sidebar' ).first();
 		adminbarOffset = $body.is( '.admin-bar' ) ? $( '#wpadminbar' ).height() : 0;
-
+		
 		$window
 			.on( 'scroll.twentyfifteen', scroll )
 			.on( 'resize.twentyfifteen', function() {
Index: src/wp-content/themes/twentyfifteen/style.css
===================================================================
--- src/wp-content/themes/twentyfifteen/style.css	(revision 30470)
+++ src/wp-content/themes/twentyfifteen/style.css	(working copy)
@@ -1271,6 +1271,8 @@
 .comment-content:after,
 .site-content:before,
 .site-content:after,
+.main-wrapper:before,
+.main-wrapper:after,
 .nav-links:before,
 .nav-links:after,
 .comment-navigation:before,
@@ -1288,6 +1290,7 @@
 .entry-content:after,
 .comment-content:after,
 .site-content:after,
+.main-wrapper:after,
 .nav-links:after,
 .comment-navigation:after,
 .social-navigation ul:after,
@@ -3967,11 +3970,14 @@
 		padding: 8.3333% 0;
 	}
 
-	.site-content {
+	.main-wrapper {
 		display: block;
 		float: left;
 		margin-left: 29.4118%;
 		width: 70.5882%;
+		position: relative;
+		margin-bottom: 1.6em;
+		z-index: 10;
 	}
 
 	body {
@@ -4562,10 +4568,8 @@
 	}
 
 	.site-footer {
-		float: left;
-		margin: 0 0 0 35.2941%;
+		display: block;
 		padding: 0;
-		width: 58.8235%;
 	}
 
 	.site-info {
