diff --git a/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php b/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php
index 70598ee..179ba14 100644
--- a/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/NodeBlockFunctionalTest.php
@@ -148,6 +148,9 @@ public function testRecentNodeBlock() {
     $this->assertText($label, 'Block was displayed on the node/N when node is of type article.');
     $this->drupalGet('node/' . $node5->id());
     $this->assertNoText($label, 'Block was not displayed on nodes of type page.');
+    $this->drupalGet('admin/structure/block');
+    $this->assertText($label, 'Block was displayed on the admin/structure/block page.');
+    $this->assertLinkByHref(url('admin/structure/block/manage/' . $block->id()));
   }
 
 }
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index a860f3f..d7dfde4 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -21,6 +21,8 @@
 use Drupal\entity\Entity\EntityDisplay;
 use Drupal\file\Entity\File;
 use Drupal\user\UserInterface;
+use Drupal\block\Entity\Block;
+use Drupal\Core\Session\AccountInterface;
 
 /**
  * Denotes that the node is not published.
@@ -1213,7 +1215,11 @@ function node_form_block_form_alter(&$form, &$form_state) {
  * Checks the content type specific visibility settings and removes the block
  * if the visibility conditions are not met.
  */
-function node_block_access($block) {
+function node_block_access(Block $block, $operation, AccountInterface $account, $langcode) {
+  // Only affect access when viewing the block
+  if ($operation != 'view') {
+    return;
+  }
   $visibility = $block->get('visibility');
   if (!empty($visibility)) {
     if (!empty($visibility['node_type']['types'])) {
