diff --git a/app/actions/filters-actions.c b/app/actions/filters-actions.c
index 174357654a..8f4a268b8c 100644
--- a/app/actions/filters-actions.c
+++ b/app/actions/filters-actions.c
@@ -84,6 +84,11 @@ static const GimpStringActionEntry filters_actions[] =
"gegl:checkerboard",
NULL /* FIXME GIMP_HELP_FILTER_CHECKERBOARD */ },
+ { "filters-color-exchange", GIMP_STOCK_GEGL,
+ NC_("filters-action", "_Color Exchange..."), NULL, NULL,
+ "gegl:color-exchange",
+ NULL /* FIXME GIMP_HELP_FILTER_COLOR_EXCHANGE */ },
+
{ "filters-color-reduction", GIMP_STOCK_GEGL,
NC_("filters-action", "Color _Reduction..."), NULL, NULL,
"gegl:color-reduction",
@@ -434,6 +439,7 @@ filters_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("filters-c2g", writable && !gray);
SET_SENSITIVE ("filters-cartoon", writable);
SET_SENSITIVE ("filters-checkerboard", writable);
+ SET_SENSITIVE ("filters-color-exchange", writable);
SET_SENSITIVE ("filters-color-reduction", writable);
SET_SENSITIVE ("filters-color-rotate", writable);
SET_SENSITIVE ("filters-color-temperature", writable && !gray);
diff --git a/app/sanity.c b/app/sanity.c
index 888971c010..0288b2687d 100644
--- a/app/sanity.c
+++ b/app/sanity.c
@@ -481,6 +481,7 @@ sanity_check_gegl_ops (void)
"gegl:cell-noise",
"gegl:checkerboard",
"gegl:color",
+ "gegl:color-exchange",
"gegl:color-reduction",
"gegl:color-rotate",
"gegl:color-temperature",
diff --git a/app/tools/gimpgegltool.c b/app/tools/gimpgegltool.c
index 97b9044345..3e7c4e5c90 100644
--- a/app/tools/gimpgegltool.c
+++ b/app/tools/gimpgegltool.c
@@ -124,6 +124,7 @@ gimp_gegl_tool_operation_blacklisted (const gchar *name,
"gegl:channel-mixer",
"gegl:checkerboard",
"gegl:color",
+ "gegl:color-exchange",
"gegl:color-reduction",
"gegl:color-rotate",
"gegl:color-temperature",
diff --git a/menus/image-menu.xml.in b/menus/image-menu.xml.in
index 3eec59610e..3f092c0dcb 100644
--- a/menus/image-menu.xml.in
+++ b/menus/image-menu.xml.in
@@ -548,6 +548,7 @@