 core/modules/node/node.module | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 7c371d6..9dfed9a 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -1064,6 +1064,16 @@ function node_query_node_access_alter(AlterableInterface $query) {
 
   // Update the query for the given storage method.
   \Drupal::service('node.grant_storage')->alterQuery($query, $tables, $op, $account, $base_table);
+
+  // Bubble the 'user.node_grants:$op' cache context to the current render
+  // context.
+  // @see \Drupal\Core\Render\MetadataBubblingUrlGenerator::bubble()
+  // @todo Remove before Drupal 9.0.0.
+  $renderer = \Drupal::service('renderer');
+  if ($renderer->hasRenderContext()) {
+    $build = ['#cache' => ['contexts' => ['user.node_grants:' . $op]]];
+    $renderer->render($build);
+  }
 }
 
 /**
