Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 7916)
+++ wp-admin/includes/template.php	(working copy)
@@ -1058,6 +1058,8 @@
 function do_meta_boxes($page, $context, $object) {
 	global $wp_meta_boxes;
 
+	do_action('do_meta_boxes', $page, $context, $object);
+
 	if ( !isset($wp_meta_boxes) || !isset($wp_meta_boxes[$page]) || !isset($wp_meta_boxes[$page][$context]) )
 		return;
 
@@ -1071,4 +1073,13 @@
 	}
 }
 
+function remove_meta_box($id, $page, $context) {
+	global $wp_meta_boxes;
+
+	if ( !isset($wp_meta_boxes) || !isset($wp_meta_boxes[$page]) || !isset($wp_meta_boxes[$page][$context]) || !isset($wp_meta_boxes[$page][$context][$id]) )
+		return;	
+
+	unset($wp_meta_boxes[$page][$context][$id]);
+}
+
 ?>
Index: wp-admin/edit-form-advanced.php
===================================================================
--- wp-admin/edit-form-advanced.php	(revision 7919)
+++ wp-admin/edit-form-advanced.php	(working copy)
@@ -225,18 +225,17 @@
 <?php echo $form_pingback ?>
 <?php echo $form_prevstatus ?>
 
-<div id="tagsdiv" class="postbox <?php echo postbox_classes('tagsdiv', 'post'); ?>">
-<h3><?php _e('Tags'); ?></h3>
-<div class="inside">
-<p id="jaxtag"><label class="hidden" for="newtag"><?php _e('Tags'); ?></label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post_ID ); ?>" /></p>
+<?php
+function post_tags_meta_box($post) {
+?>
+<p id="jaxtag"><label class="hidden" for="newtag"><?php _e('Tags'); ?></label><input type="text" name="tags_input" class="tags-input" id="tags-input" size="40" tabindex="3" value="<?php echo get_tags_to_edit( $post->ID ); ?>" /></p>
 <div id="tagchecklist"></div>
-</div>
-</div>
+<?php
+}
+add_meta_box('tagsdiv', __('Tags'), 'post_tags_meta_box', 'post', 'normal');
 
-<div id="categorydiv" class="postbox <?php echo postbox_classes('categorydiv', 'post'); ?>">
-<h3><?php _e('Categories') ?></h3>
-<div class="inside">
-
+function post_categories_meta_box($post) {
+?>
 <div id="category-adder" class="wp-hidden-children">
 	<h4><a id="category-add-toggle" href="#category-add" class="hide-if-no-js" tabindex="3"><?php _e( '+ Add New Category' ); ?></a></h4>
 	<p id="category-add" class="wp-hidden-child">
@@ -261,13 +260,14 @@
 
 <div id="categories-all" class="ui-tabs-panel">
 	<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">
-		<?php wp_category_checklist($post_ID) ?>
+		<?php wp_category_checklist($post->ID) ?>
 	</ul>
 </div>
+<?php
+}
+add_meta_box('categorydiv', __('Categories'), 'post_categories_meta_box', 'post', 'normal');
+?>
 
-</div>
-</div>
-
 <?php do_meta_boxes('post', 'normal', $post); ?>
 
 <?php do_action('edit_form_advanced'); ?>
