diff --git a/wp-admin/themes.php b/wp-admin/themes.php
index 53bb1049a7..539495fd98 100644
--- a/wp-admin/themes.php
+++ b/wp-admin/themes.php
@@ -377,7 +377,7 @@ foreach ( $themes as $theme ) :
 <?php
 // List broken themes, if any.
 $broken_themes = wp_get_themes( array( 'errors' => true ) );
-if ( ! is_multisite() && current_user_can( 'edit_themes' ) && $broken_themes ) {
+if ( ! is_multisite() && $broken_themes ) {
 	?>
 
 <div class="broken-themes">
@@ -388,6 +388,10 @@ if ( ! is_multisite() && current_user_can( 'edit_themes' ) && $broken_themes ) {
 	$can_resume  = current_user_can( 'resume_themes' );
 	$can_delete  = current_user_can( 'delete_themes' );
 	$can_install = current_user_can( 'install_themes' );
+
+	if ( defined( 'DISALLOW_FILE_MODS' ) && true === DISALLOW_FILE_MODS ) {
+		$can_resume = $can_delete = $can_install = current_user_can( 'edit_theme_options' );
+	}
 	?>
 <table>
 	<tr>
