diff --git a/grade/edit/tree/index.php b/grade/edit/tree/index.php
index 82988d92096..7bbfbf9d5a0 100644
--- a/grade/edit/tree/index.php
+++ b/grade/edit/tree/index.php
@@ -77,6 +77,10 @@ $moving = false;
switch ($action) {
case 'delete':
if ($eid) {
+ if ($element['type'] == 'item' and $object->is_external_item() and !$object->is_outcome_item()) {
+ // no deleting of external activities!
+ break;
+ }
$confirm = optional_param('confirm', 0, PARAM_BOOL);
if ($confirm and confirm_sesskey()) {
@@ -185,9 +189,11 @@ function print_grade_tree(&$gtree, $element, $moving, &$gpr, $switch, $switchedl
$actions .= $gtree->get_calculation_icon($element, $gpr);
if ($element['type'] == 'item' or ($element['type'] == 'category' and $element['depth'] > 1)) {
- $actions .= '
';
+ if (!($element['type'] == 'item' and $object->is_external_item() and !$object->is_outcome_item())) {
+ $actions .= '
';
+ }
$actions .= '
';