Index: wp-includes/template-functions-links.php
===================================================================
--- wp-includes/template-functions-links.php	(revision 3856)
+++ wp-includes/template-functions-links.php	(working copy)
@@ -26,7 +26,7 @@
 }
 
 
-function get_permalink($id = 0) {
+function get_permalink($id = 0, $move_front_page = true) {
 	$rewritecode = array(
 		'%year%',
 		'%monthnum%',
@@ -43,7 +43,7 @@
 
 	$post = &get_post($id);
 	if ( $post->post_type == 'page' )
-		return get_page_link($post->ID);
+		return get_page_link($post->ID, $move_front_page);
 	elseif ($post->post_type == 'attachment')
 		return get_attachment_link($post->ID);
 
@@ -89,7 +89,7 @@
 	return get_permalink($post_id);
 }
 
-function get_page_link($id = false) {
+function get_page_link($id = false, $move_front_page = true) {
 	global $post, $wp_rewrite;
 
 	if ( !$id )
@@ -105,7 +105,7 @@
 		$link = get_settings('home') . "/?page_id=$id";
 	}
 
-	if ( 'page' == get_option('show_on_front') && $id == get_option('page_on_front') )
+	if ( $move_front_page && 'page' == get_option('show_on_front') && $id == get_option('page_on_front') )
 		$link = get_settings('home');
 
 	return apply_filters('page_link', $link, $id);
@@ -123,7 +123,7 @@
 	$object = get_post($id);
 	if ( $wp_rewrite->using_permalinks() && ($object->post_parent > 0) ) {
 		$parent = get_post($object->post_parent);
-		$parentlink = get_permalink($object->post_parent);
+		$parentlink = get_permalink($object->post_parent, false);
 		if (! strstr($parentlink, '?') )
 			$link = trim($parentlink, '/') . '/' . $object->post_name . '/';
 	}
