Index: wp-admin/includes/upgrade.php
===================================================================
--- wp-admin/includes/upgrade.php	(revision 19381)
+++ wp-admin/includes/upgrade.php	(working copy)
@@ -1146,6 +1146,10 @@
 		$wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key IN ('show_admin_bar_admin', 'plugins_last_view')" );
 	}
 
+	if ( $wp_current_db_version < 19382 && is_multisite() && is_main_site() ) {
+		update_site_option( 'initial_db_version', get_option( 'initial_db_version' ) );
+	}
+
 	if ( $wp_current_db_version >= 11548 )
 		return;
 
Index: wp-admin/includes/schema.php
===================================================================
--- wp-admin/includes/schema.php	(revision 19381)
+++ wp-admin/includes/schema.php	(working copy)
@@ -480,6 +480,13 @@
 	'default_post_format' => 0,
 	);
 
+	// 3.3
+	if ( ! is_multisite() || is_main_site( get_current_blog_id() ) ) {
+		$options['dismissed_wp_pointers'] = 'wp330-toolbar,wp330-media-uploader,wp330-saving-widgets';
+		$wp_db_current_db_version = __get_option( 'db_version' );
+		$options['initial_db_version'] = $wp_current_db_version < $wp_db_version ? $wp_current_db_version : $wp_db_version;
+	}
+
 	// 3.0 multisite
 	if ( is_multisite() ) {
 		/* translators: blog tagline */
@@ -886,7 +893,9 @@
 		'add_new_users' => '0',
 		'upload_space_check_disabled' => '0',
 		'subdomain_install' => intval( $subdomain_install ),
-		'global_terms_enabled' => global_terms_enabled() ? '1' : '0'
+		'global_terms_enabled' => global_terms_enabled() ? '1' : '0',
+		'initial_wp_version' => get_option( 'initial_wp_version' ),
+		'dismissed_wp_pointers' => 'wp330-toolbar,wp330-media-uploader,wp330-saving-widgets',
 	);
 	if ( ! $subdomain_install )
 		$sitemeta['illegal_names'][] = 'blog';
Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 19381)
+++ wp-admin/includes/template.php	(working copy)
@@ -1676,6 +1676,7 @@
 	$enqueue = false;
 
 	$dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
+	$dismissed = array_unique( array_merge( $dismissed, explode( ',', (string) get_site_option( 'dismissed_wp_pointers' ) ) ) );
 
 	if ( ! in_array( 'wp330-admin-bar', $dismissed ) ) {
 		$enqueue = true;
