diff --git a/frontend/src/metabase/dashboard/components/ClickMappings.jsx b/frontend/src/metabase/dashboard/components/ClickMappings.jsx
index 766d2051f1b03650c9c5df548efc4f6dc864b308..12e07ec97a7cc7d0d14f4dc539a60f709e3e139b 100644
--- a/frontend/src/metabase/dashboard/components/ClickMappings.jsx
+++ b/frontend/src/metabase/dashboard/components/ClickMappings.jsx
@@ -33,11 +33,13 @@ import { getParameters } from "metabase/dashboard/selectors";
     )
       .filter(mapping => getIn(mapping, ["source", "type"]) === "parameter")
       .map(mapping => mapping.source.id);
-    parameters = parameters.filter(p => parametersUsedAsSources.includes(p.id));
+    parameters = parameters.filter(p => {
+      return parametersUsedAsSources.includes(p.id);
+    });
   }
 
   const [setTargets, unsetTargets] = _.partition(
-    getTargetsWithSourceFilters({ isDash, object, metadata }),
+    getTargetsWithSourceFilters({ isDash, dashcard, object, metadata }),
     ({ id }) =>
       getIn(clickBehavior, ["parameterMapping", id, "source"]) != null,
   );
diff --git a/frontend/src/metabase/lib/click-behavior.js b/frontend/src/metabase/lib/click-behavior.js
index 5bfc10d11752c3db561a9faf4e6e3306ab74d99b..01c5abc9a9481aed7f52305bf7820931c92089b6 100644
--- a/frontend/src/metabase/lib/click-behavior.js
+++ b/frontend/src/metabase/lib/click-behavior.js
@@ -72,9 +72,14 @@ function notRelativeDateOrRange({ type }) {
   return type !== "date/range" && type !== "date/relative";
 }
 
-export function getTargetsWithSourceFilters({ isDash, object, metadata }) {
+export function getTargetsWithSourceFilters({
+  isDash,
+  dashcard,
+  object,
+  metadata,
+}) {
   return isDash
-    ? getTargetsForDashboard(object)
+    ? getTargetsForDashboard(object, dashcard)
     : getTargetsForQuestion(object, metadata);
 }
 
@@ -128,7 +133,7 @@ function getTargetsForQuestion(question, metadata) {
     });
 }
 
-function getTargetsForDashboard(dashboard) {
+function getTargetsForDashboard(dashboard, dashcard) {
   return dashboard.parameters.map(parameter => {
     const { type, id, name } = parameter;
     const filter = baseTypeFilterForParameterType(type);
@@ -138,9 +143,14 @@ function getTargetsForDashboard(dashboard) {
       target: { type: "parameter", id },
       sourceFilters: {
         column: c => notRelativeDateOrRange(parameter) && filter(c.base_type),
-        parameter: sourceParam =>
-          parameter.type === sourceParam.type &&
-          parameter.id !== sourceParam.id,
+        parameter: sourceParam => {
+          // parameter IDs are generated client-side, so they might not be unique
+          // if dashboard is a clone, it will have identical parameter IDs to the original
+          const isSameParameter =
+            dashboard.id === dashcard.dashboard_id &&
+            parameter.id === sourceParam.id;
+          return parameter.type === sourceParam.type && !isSameParameter;
+        },
         userAttribute: () => !parameter.type.startsWith("date"),
       },
     };
diff --git a/frontend/test/metabase/lib/click-behavior.unit.spec.js b/frontend/test/metabase/lib/click-behavior.unit.spec.js
index 663c2eb172ec9b36a48052cac76eba73376174a4..1031fe865cad3cca13b72e5871068f69a119361c 100644
--- a/frontend/test/metabase/lib/click-behavior.unit.spec.js
+++ b/frontend/test/metabase/lib/click-behavior.unit.spec.js
@@ -66,6 +66,9 @@ describe("metabase/lib/click-behavior", () => {
       const [{ id, name, target }] = getTargetsWithSourceFilters({
         isDash: true,
         object: { parameters: [parameter] },
+        dashcard: {
+          dashboard_id: 111,
+        },
       });
       expect(id).toEqual("foo123");
       expect(name).toEqual("My Param");
@@ -219,6 +222,9 @@ describe("metabase/lib/click-behavior", () => {
           const [{ sourceFilters }] = getTargetsWithSourceFilters({
             isDash: true,
             object: { parameters: [parameter] },
+            dashcard: {
+              dashboard_id: 111,
+            },
           });
 
           const filteredSources = _.mapObject(sources, (sources, sourceType) =>