Index: draggableviews.module
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- draggableviews.module	(revision f6bf819b4fc580d65bc72b42ddd5edf84b638ebc)
+++ draggableviews.module	(revision )
@@ -65,7 +65,7 @@
       // Explain to every entity how to join with draggableviews_structure
       // table.
       $data['draggableviews_structure']['table']['join'][$base_table] = [
-        'handler' => 'draggableviews_join_handler',
+        'join_id' => 'draggableviews_with_args',
         // Because this is a direct link it could be left out.
         'left_table' => $base_table,
         'left_field' => $entity_keys['id'],
@@ -165,6 +165,7 @@
   $view = $form_state->getBuildInfo()['args'][0];
   $view_name = $view->id();
   $view_display = $view->current_display;
+  $view_args = !empty($view->args) ? json_encode($view->args) : '[]';
 
   $weight = 0;
 
@@ -176,6 +177,7 @@
       $connection->delete('draggableviews_structure')
         ->condition('view_name', $view_name)
         ->condition('view_display', $view_display)
+        ->condition('args', $view_args)
         ->condition('entity_id', $item['id'])
         ->execute();
 
@@ -183,7 +185,7 @@
       $record = [
         'view_name' => $view_name,
         'view_display' => $view_display,
-        'args' => '[]',
+        'args' => $view_args,
         'entity_id' => $item['id'],
         'weight' => $weight,
       ];
Index: src/Plugin/views/join/WithArgs.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/Plugin/views/join/WithArgs.php	(revision )
+++ src/Plugin/views/join/WithArgs.php	(revision )
@@ -0,0 +1,40 @@
+<?php
+
+namespace Drupal\draggableviews\Plugin\views\join;
+
+use Drupal\views\Plugin\views\join\JoinPluginBase;
+
+/**
+ *
+ * @ingroup views_join_handlers
+ *
+ * @ViewsJoin("draggableviews_with_args")
+ */
+class WithArgs extends JoinPluginBase {
+  /**
+   * {@inheritdoc}
+   */
+  public function buildJoin($select_query, $table, $view_query) {
+    $view_args = !empty($view_query->view->args) ? json_encode($view_query->view->args) : '[]';
+
+    if (!isset($this->extra)) {
+      $this->extra = [];
+    }
+
+    if (is_array($this->extra)) {
+      $found = FALSE;
+      foreach ($this->extra as $info) {
+        if (empty(array_diff(array_keys($info), array('field', 'value'))) && $info['field'] == 'args' && $info['value'] == $view_args) {
+          $found = TRUE;
+          break;
+        }
+      }
+
+      if (!$found) {
+        $this->extra[] = ['field' => 'args', 'value' => $view_args];
+      }
+    }
+
+    parent::buildJoin($select_query, $table, $view_query);
+  }
+}
