Index: wp-includes/link-template.php
===================================================================
--- wp-includes/link-template.php	(revision 22339)
+++ wp-includes/link-template.php	(working copy)
@@ -1454,10 +1454,21 @@
 			$base .= 'index.php/';
 
 		if ( $pagenum > 1 ) {
-			$request = ( ( !empty( $request ) ) ? trailingslashit( $request ) : $request ) . user_trailingslashit( $wp_rewrite->pagination_base . "/" . $pagenum, 'paged' );
+			$request = ! empty( $request ) ? trailingslashit( $request ) : $request; 
+			
+			if ( is_search() ) {
+				$request = add_query_arg( 'paged', $pagenum, $request . $query_string );
+			} elseif ( is_singular() && ! ( is_front_page() && ! is_home() ) ) {
+				$request .= user_trailingslashit( $pagenum, 'single_paged' ) . $query_string;
+			} else {
+				$paged = $wp_rewrite->pagination_base . '/' . $pagenum;
+				$request .= user_trailingslashit( $paged, 'paged' ) . $query_string;
+			}
+		} else {
+			$request .= $query_string;
 		}
 
-		$result = $base . $request . $query_string;
+		$result = $base . $request;
 	}
 
 	$result = apply_filters('get_pagenum_link', $result);
