diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc
index 74a83f6ee7..9b5524d4c1 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/members-toolbar.inc
@@ -60,10 +60,12 @@
Discharge
[% END %]
- [% IF CAN_user_borrowers_edit_borrowers %]
- Manage API keys
- [% ELSE %]
- Manage API keys
+ [% IF Koha.Preference('RESTOAuth2ClientCredentials') %]
+ [% IF CAN_user_borrowers_edit_borrowers %]
+ Manage API keys
+ [% ELSE %]
+ Manage API keys
+ [% END %]
[% END %]
[% IF CAN_user_borrowers_edit_borrowers %]
diff --git a/members/apikeys.pl b/members/apikeys.pl
index e20e010ec4..9d1a4f12d5 100755
--- a/members/apikeys.pl
+++ b/members/apikeys.pl
@@ -45,7 +45,8 @@ my $api_key = $cgi->param('key') // '';
$patron = Koha::Patrons->find($patron_id) if $patron_id;
-if ( not defined $patron ) {
+if ( not defined $patron or
+ not C4::Context->preference('RESTOAuth2ClientCredentials') ) {
# patron_id invalid -> exit
print $cgi->redirect("/cgi-bin/koha/errors/404.pl"); # escape early