Index: src/wp-includes/link-template.php
===================================================================
--- src/wp-includes/link-template.php	(revision 31106)
+++ src/wp-includes/link-template.php	(working copy)
@@ -132,15 +132,17 @@
 		$sample = false;
 	}
 
-	if ( empty($post->ID) )
+	if ( empty($post->ID) ) {
 		return false;
+	}
 
-	if ( $post->post_type == 'page' )
+	if ( $post->post_type == 'page' ) {
 		return get_page_link($post, $leavename, $sample);
-	elseif ( $post->post_type == 'attachment' )
+	} elseif ( $post->post_type == 'attachment' ) {
 		return get_attachment_link( $post, $leavename );
-	elseif ( in_array($post->post_type, get_post_types( array('_builtin' => false) ) ) )
+	} elseif ( in_array($post->post_type, get_post_types( array('_builtin' => false) ) ) ) {
 		return get_post_permalink($post, $leavename, $sample);
+	}
 
 	$permalink = get_option('permalink_structure');
 
@@ -157,7 +159,7 @@
 	 */
 	$permalink = apply_filters( 'pre_post_link', $permalink, $post, $leavename );
 
-	if ( '' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft')) ) {
+	if ( $permalink != '' && !in_array($post->post_status, array('draft', 'pending', 'auto-draft', 'future')) ) {
 		$unixtime = strtotime($post->post_date);
 
 		$category = '';
@@ -253,7 +255,7 @@
 
 	$slug = $post->post_name;
 
-	$draft_or_pending = isset($post->post_status) && in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft' ) );
+	$draft_or_pending = isset($post->post_status) && in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft', 'future' ) );
 
 	$post_type = get_post_type_object($post->post_type);
 
@@ -267,10 +269,11 @@
 		}
 		$post_link = home_url( user_trailingslashit($post_link) );
 	} else {
-		if ( $post_type->query_var && ( isset($post->post_status) && !$draft_or_pending ) )
+		if ( $post_type->query_var && ( isset($post->post_status) && !$draft_or_pending ) ) {
 			$post_link = add_query_arg($post_type->query_var, $slug, '');
-		else
+		} else {
 			$post_link = add_query_arg(array('post_type' => $post->post_type, 'p' => $post->ID), '');
+		}
 		$post_link = home_url($post_link);
 	}
 
