diff --git a/Kernel/Output/HTML/ArticleAction/AgentTicketNote.pm b/Kernel/Output/HTML/ArticleAction/AgentTicketNote.pm
index 627fe9503b4..cf22614a18d 100644
--- a/Kernel/Output/HTML/ArticleAction/AgentTicketNote.pm
+++ b/Kernel/Output/HTML/ArticleAction/AgentTicketNote.pm
@@ -57,6 +57,31 @@ sub CheckAccess {
# check Acl
return if !$Param{AclActionLookup}->{AgentTicketNote};
+ my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');
+
+ my $Config = $ConfigObject->Get('Ticket::Frontend::AgentTicketNote');
+ if ( $Config->{Permission} ) {
+ my $Ok = $TicketObject->TicketPermission(
+ Type => $Config->{Permission},
+ TicketID => $Param{Ticket}->{TicketID},
+ UserID => $Param{UserID},
+ LogNo => 1,
+ );
+ return if !$Ok;
+ }
+ if ( $Config->{RequiredLock} ) {
+ my $Locked = $TicketObject->TicketLockGet(
+ TicketID => $Param{Ticket}->{TicketID}
+ );
+ if ($Locked) {
+ my $AccessOk = $TicketObject->OwnerCheck(
+ TicketID => $Param{Ticket}->{TicketID},
+ OwnerID => $Param{UserID},
+ );
+ return if !$AccessOk;
+ }
+ }
+
return 1;
}