diff --git wp-admin/admin.php wp-admin/admin.php
index ce7edfb..0449c0b 100644
--- wp-admin/admin.php
+++ wp-admin/admin.php
@@ -88,7 +88,7 @@ if ( isset($_GET['page']) ) {
 	$plugin_page = plugin_basename($plugin_page);
 }
 
-if ( isset($_GET['post_type']) )
+if ( isset($_REQUEST['post_type']) )
 	$typenow = sanitize_key($_GET['post_type']);
 else
 	$typenow = '';
diff --git wp-admin/includes/template.php wp-admin/includes/template.php
index a788b8f..c96b43c 100644
--- wp-admin/includes/template.php
+++ wp-admin/includes/template.php
@@ -2077,13 +2077,31 @@ function set_current_screen( $id =  '' ) {
 		$current_screen->id .= '-' . $typenow;
 		$current_screen->post_type = $typenow;
 	} elseif ( 'post' == $current_screen->id ) {
-		if ( empty($typenow) )
+		if ( isset($_GET['post']) )
+			$post_id = (int) $_GET['post'];
+		elseif ( isset($_POST['post_ID']) )
+			$post_id = (int) $_POST['post_ID'];
+		else
+			$post_id = 0;
+			
+		$GLOBALS['post_id'] = $post_id;
+		
+		$post_type_object = null;
+		
+		if ( $post_id ) {
+			$post = get_post( $post_id );
+			$typenow = $post->post_type;
+		}
+		
+		if ( empty( $typenow ) || ! get_post_type_object( $typenow ) )
 			$typenow = 'post';
-		$current_screen->id = $typenow;
-		$current_screen->post_type = $typenow;
+		
+		$current_screen->id = $current_screen->post_type = $typenow;
 	} elseif ( 'edit-tags' == $current_screen->id ) {
 		if ( empty($taxnow) )
 			$taxnow = 'post_tag';
+		if ( empty( $typenow ) ) 
+			$typenow = 'post';
 		$current_screen->id = 'edit-' . $taxnow;
 		$current_screen->taxonomy = $taxnow;
 	}
diff --git wp-admin/post.php wp-admin/post.php
index 0dae46d..19e3272 100644
--- wp-admin/post.php
+++ wp-admin/post.php
@@ -16,34 +16,10 @@ $submenu_file = 'edit.php';
 
 wp_reset_vars(array('action', 'safe_mode', 'withcomments', 'posts', 'content', 'edited_post_title', 'comment_error', 'profile', 'trackback_url', 'excerpt', 'showcomments', 'commentstart', 'commentend', 'commentorder'));
 
-if ( isset($_GET['post']) )
-	$post_id = (int) $_GET['post'];
-elseif ( isset($_POST['post_ID']) )
-	$post_id = (int) $_POST['post_ID'];
-else
-	$post_id = 0;
 $post_ID = $post_id;
-$post = null;
-$post_type_object = null;
-$post_type = null;
-if ( $post_id ) {
-	$post = get_post($post_id);
-	if ( $post ) {
-		$post_type_object = get_post_type_object($post->post_type);
-		if ( $post_type_object ) {
-			$post_type = $post->post_type;
-			$current_screen->post_type = $post->post_type;
-			$current_screen->id = $current_screen->post_type;
-		}
-	}
-} elseif ( isset($_POST['post_type']) ) {
-	$post_type_object = get_post_type_object($_POST['post_type']);
-	if ( $post_type_object ) {
-		$post_type = $post_type_object->name;
-		$current_screen->post_type = $post_type;
-		$current_screen->id = $current_screen->post_type;
-	}
-}
+$post = get_post( $post_id );
+$post_type_object = get_post_type_object( $typenow );
+$post_type = $typenow;
 
 /**
  * Redirect to previous page.
