diff --git a/admin/tool/task/classes/edit_scheduled_task_form.php b/admin/tool/task/classes/edit_scheduled_task_form.php
index d59710c46e9..21d251875bb 100644
--- a/admin/tool/task/classes/edit_scheduled_task_form.php
+++ b/admin/tool/task/classes/edit_scheduled_task_form.php
@@ -38,10 +38,15 @@ class tool_task_edit_scheduled_task_form extends moodleform {
/** @var \core\task\scheduled_task $task */
$task = $this->_customdata;
+ $plugininfo = core_plugin_manager::instance()->get_plugin_info($task->get_component());
+ $plugindisabled = $plugininfo && $plugininfo->is_enabled() === false && !$task->get_run_if_component_disabled();
+
$lastrun = $task->get_last_run_time() ? userdate($task->get_last_run_time()) : get_string('never');
$nextrun = $task->get_next_run_time();
- if ($task->get_disabled()) {
- $nextrun = get_string('disabled', 'tool_task');
+ if ($plugindisabled) {
+ $nextrun = get_string('plugindisabled', 'tool_task');
+ } else if ($task->get_disabled()) {
+ $nextrun = get_string('taskdisabled', 'tool_task');
} else if ($nextrun > time()) {
$nextrun = userdate($nextrun);
} else {
diff --git a/admin/tool/task/cli/schedule_task.php b/admin/tool/task/cli/schedule_task.php
index 62b0ad984cc..3476c1df235 100644
--- a/admin/tool/task/cli/schedule_task.php
+++ b/admin/tool/task/cli/schedule_task.php
@@ -72,8 +72,13 @@ if ($options['list']) {
. $task->get_day_of_week();
$nextrun = $task->get_next_run_time();
- if ($task->get_disabled()) {
- $nextrun = get_string('disabled', 'tool_task');
+ $plugininfo = core_plugin_manager::instance()->get_plugin_info($task->get_component());
+ $plugindisabled = $plugininfo && $plugininfo->is_enabled() === false && !$task->get_run_if_component_disabled();
+
+ if ($plugindisabled) {
+ $nextrun = get_string('plugindisabled', 'tool_task');
+ } else if ($task->get_disabled()) {
+ $nextrun = get_string('taskdisabled', 'tool_task');
} else if ($nextrun > time()) {
$nextrun = userdate($nextrun);
} else {
diff --git a/admin/tool/task/lang/en/tool_task.php b/admin/tool/task/lang/en/tool_task.php
index 6b4410e27b8..fa6fe776885 100644
--- a/admin/tool/task/lang/en/tool_task.php
+++ b/admin/tool/task/lang/en/tool_task.php
@@ -33,11 +33,13 @@ $string['edittaskschedule'] = 'Edit task schedule: {$a}';
$string['faildelay'] = 'Fail delay';
$string['lastruntime'] = 'Last run';
$string['nextruntime'] = 'Next run';
+$string['plugindisabled'] = 'Plugin disabled';
$string['pluginname'] = 'Scheduled task configuration';
$string['resettasktodefaults'] = 'Reset task schedule to defaults';
$string['resettasktodefaults_help'] = 'This will discard any local changes and revert the schedule for this task back to its original settings.';
$string['scheduledtasks'] = 'Scheduled tasks';
$string['scheduledtaskchangesdisabled'] = 'Modifications to the list of scheduled tasks have been prevented in Moodle configuration';
+$string['taskdisabled'] = 'Task disabled';
$string['taskscheduleday'] = 'Day';
$string['taskscheduleday_help'] = 'Day of month field for task schedule. The field uses the same format as unix cron. Some examples are: