diff --git a/admin/blocks.php b/admin/blocks.php
index 6b57e67df86..17b035090ec 100644
--- a/admin/blocks.php
+++ b/admin/blocks.php
@@ -147,7 +147,11 @@
$settings = ''; // By default, no configuration
if ($blockobject and $blockobject->has_config()) {
- if (file_exists($CFG->dirroot.'/blocks/'.$block->name.'/settings.php')) {
+ $blocksettings = admin_get_root()->locate('blocksetting' . $block->name);
+
+ if ($blocksettings instanceof admin_externalpage) {
+ $settings = '' . get_string('settings') . '';
+ } else if ($blocksettings instanceof admin_settingpage) {
$settings = ''.$strsettings.'';
} else {
$settings = ''.$strsettings.'';