Index: wp-admin/includes/meta-boxes.php
===================================================================
--- wp-admin/includes/meta-boxes.php	(revision 15047)
+++ wp-admin/includes/meta-boxes.php	(working copy)
@@ -109,19 +109,23 @@
 <div class="misc-pub-section " id="visibility">
 <?php _e('Visibility:'); ?> <span id="post-visibility-display"><?php
 
-if ( 'private' == $post->post_status ) {
-	$post->post_password = '';
-	$visibility = 'private';
-	$visibility_trans = __('Private');
-} elseif ( !empty( $post->post_password ) ) {
-	$visibility = 'password';
-	$visibility_trans = __('Password protected');
-} elseif ( $post_type == 'post' && is_sticky( $post->ID ) ) {
-	$visibility = 'public';
-	$visibility_trans = __('Public, Sticky');
-} else {
-	$visibility = 'public';
-	$visibility_trans = __('Public');
+$visibility = apply_filters('post_visibility',null,$post);
+$visibility_trans = apply_filters('post_visibility_text',null,$post);
+if ($visibility === null) {
+  if ( 'private' == $post->post_status ) {
+    $post->post_password = '';
+    $visibility = 'private';
+    $visibility_trans = __('Private');
+  } elseif ( !empty( $post->post_password ) ) {
+    $visibility = 'password';
+    $visibility_trans = __('Password protected');
+  } elseif ( $post_type == 'post' && is_sticky( $post->ID ) ) {
+    $visibility = 'public';
+    $visibility_trans = __('Public, Sticky');
+  } else {
+    $visibility = 'public';
+    $visibility_trans = __('Public');
+  }
 }
 
 echo esc_html( $visibility_trans ); ?></span>
