Index: wp-includes/admin-bar.php
===================================================================
--- wp-includes/admin-bar.php	(revision 16442)
+++ wp-includes/admin-bar.php	(working copy)
@@ -293,32 +293,6 @@
 	<?php
 }
 
-// @TODO do we still need this in core?
-function wp_admin_body_style() {
-	?>
-	<style type="text/css">
-		<?php
-
-		if (
-			( empty( $_GET['nobump'] ) || is_admin() ) &&
-			! strpos( $_SERVER['REQUEST_URI'], 'media-upload.php' )
-		) :
-			?>
-			body { padding-top: 28px !important; }
-			<?php
-		endif;
-
-		if ( in_array( get_current_theme(), array('H3', 'H4', 'The Journalist v1.9') ) ) :
-			?>
-			body { padding-top: 28px; background-position: 0px 28px; }
-			<?php
-		endif;
-
-		?>
-	</style>
-	<?php
-}
-
 /**
  * Determine whether the admin bar should be showing.
  *
Index: wp-includes/class-wp-admin-bar.php
===================================================================
--- wp-includes/class-wp-admin-bar.php	(revision 16442)
+++ wp-includes/class-wp-admin-bar.php	(working copy)
@@ -33,10 +33,8 @@
 		$this->user->locale = get_locale();
 
 		add_action( 'wp_head', 'wp_admin_bar_header' );
-		add_action( 'wp_head', 'wp_admin_body_style');
 
 		add_action( 'admin_head', 'wp_admin_bar_header' );
-		add_action( 'admin_head', 'wp_admin_body_style');
 
 		wp_enqueue_script( 'admin-bar' );
 		wp_enqueue_style( 'admin-bar' );
Index: wp-admin/admin-header.php
===================================================================
--- wp-admin/admin-header.php	(revision 16442)
+++ wp-admin/admin-header.php	(working copy)
@@ -79,6 +79,9 @@
 
 if ( get_user_setting('mfold') == 'f' )
 	$admin_body_class .= ' folded';
+	
+if ( is_admin_bar_showing() )
+	$admin_body_class .= ' admin-bar'; 
 
 if ( $is_iphone ) { ?>
 <style type="text/css">.row-actions{visibility:visible;}</style>
Index: wp-admin/css/wp-admin.dev.css
===================================================================
--- wp-admin/css/wp-admin.dev.css	(revision 16442)
+++ wp-admin/css/wp-admin.dev.css	(working copy)
@@ -1140,6 +1140,10 @@
 	min-width: 785px;
 }
 
+body.admin-bar {
+	padding-top: 28px;
+}
+
 .narrow {
 	width: 70%;
 	margin-bottom: 40px;
