diff --git a/module/execution/ui/taskkanban.html.php b/module/execution/ui/taskkanban.html.php
index 04cd157d98..0d188be988 100644
--- a/module/execution/ui/taskkanban.html.php
+++ b/module/execution/ui/taskkanban.html.php
@@ -57,10 +57,10 @@ $canBatchCreateRisk = $canModifyExecution && common::hasPriv('risk', 'batchCrea
$canCreateBug = ($canModifyExecution && $productID && common::hasPriv('bug', 'create'));
$canBatchCreateBug = ($canModifyExecution && $productID && common::hasPriv('bug', 'batchCreate'));
$canImportBug = ($canModifyExecution && $productID && !$isLimited && common::hasPriv('execution', 'importBug'));
-$canCreateStory = ($canModifyExecution && $productID && common::hasPriv('story', 'create'));
-$canBatchCreateStory = ($canModifyExecution && $productID && common::hasPriv('story', 'batchCreate'));
-$canLinkStory = ($canModifyExecution && $productID && common::hasPriv('execution', 'linkStory') && !empty($execution->hasProduct));
-$canLinkStoryByPlan = ($canModifyExecution && $productID && common::hasPriv('execution', 'importplanstories') && !$hiddenPlan && !empty($execution->hasProduct));
+$canCreateStory = (!$hasFrozenStories && $canModifyExecution && $productID && common::hasPriv('story', 'create'));
+$canBatchCreateStory = (!$hasFrozenStories && $canModifyExecution && $productID && common::hasPriv('story', 'batchCreate'));
+$canLinkStory = (!$hasFrozenStories && $canModifyExecution && $productID && common::hasPriv('execution', 'linkStory') && !empty($execution->hasProduct));
+$canLinkStoryByPlan = (!$hasFrozenStories && $canModifyExecution && $productID && common::hasPriv('execution', 'importplanstories') && !$hiddenPlan && !empty($execution->hasProduct));
$hasStoryButton = !$hasFrozenStories && ($canCreateStory or $canBatchCreateStory or $canLinkStory or $canLinkStoryByPlan);
$hasTaskButton = ($canCreateTask or $canBatchCreateTask or $canImportBug);
$hasBugButton = ($canCreateBug or $canBatchCreateBug);