diff --git a/handlers/views_handler_relationship.inc b/handlers/views_handler_relationship.inc
index 341350b..f2ea0d7 100644
--- a/handlers/views_handler_relationship.inc
+++ b/handlers/views_handler_relationship.inc
@@ -123,6 +123,12 @@ class views_handler_relationship extends views_handler {
     $alias = $def['table'] . '_' . $this->table;
 
     $this->alias = $this->query->add_relationship($alias, $join, $this->definition['base'], $this->relationship);
+
+    // Add access tags if the base table provide it.
+    if (empty($this->query->options['disable_sql_rewrite']) && isset($table_data['table']['base']['access query tag'])) {
+      $access_tag = $table_data['table']['base']['access query tag'];
+      $this->query->add_tag($access_tag);
+    }
   }
 
   /**
diff --git a/plugins/views_plugin_query_default.inc b/plugins/views_plugin_query_default.inc
index fc31006..d778c6a 100644
--- a/plugins/views_plugin_query_default.inc
+++ b/plugins/views_plugin_query_default.inc
@@ -79,6 +79,11 @@ class views_plugin_query_default extends views_plugin_query {
    */
    var $pager = NULL;
 
+   /**
+    * Query tags which will be passed over to the dbtng query object.
+    */
+   var $tags = array();
+
   /**
    * Constructor; Create the basic query object and fill with default values.
    */
@@ -979,6 +984,15 @@ class views_plugin_query_default extends views_plugin_query {
   }
 
   /**
+   * Adds a query tag to the sql object.
+   *
+   * @see SelectQuery::addTag
+   */
+  function add_tag($tag) {
+    $this->tags[] = $tag;
+  }
+
+  /**
    * Generates a unique placeholder used in the db query.
    */
   function placeholder($base = 'views') {
@@ -1151,6 +1165,11 @@ class views_plugin_query_default extends views_plugin_query {
       ->addTag('views')
       ->addTag('views_' . $this->view->name);
 
+    // Add the tags added to the view itself.
+    foreach ($this->tags as $tag) {
+      $query->addTag($tag);
+    }
+
     if (!empty($distinct)) {
       $query->distinct();
     }
