diff --git a/app/actions/filters-actions.c b/app/actions/filters-actions.c
index 37b2afa323..7e93226a39 100644
--- a/app/actions/filters-actions.c
+++ b/app/actions/filters-actions.c
@@ -90,6 +90,11 @@ static const GimpStringActionEntry filters_actions[] =
"gegl:color-reduction",
NULL /* FIXME GIMP_HELP_FILTER_COLOR_TEMPERATURE */ },
+ { "filters-color-rotate", GIMP_STOCK_GEGL,
+ NC_("filters-action", "_Rotate Colors..."), NULL, NULL,
+ "gegl:color-rotate",
+ NULL /* FIXME GIMP_HELP_FILTER_COLOR_ROTATE */ },
+
{ "filters-color-temperature", GIMP_STOCK_GEGL,
NC_("filters-action", "Color T_emperature..."), NULL, NULL,
"gegl:color-temperature",
@@ -416,6 +421,7 @@ filters_actions_update (GimpActionGroup *group,
SET_SENSITIVE ("filters-cartoon", writable);
SET_SENSITIVE ("filters-checkerboard", writable);
SET_SENSITIVE ("filters-color-reduction", writable);
+ SET_SENSITIVE ("filters-color-rotate", writable);
SET_SENSITIVE ("filters-color-temperature", writable && !gray);
SET_SENSITIVE ("filters-color-to-alpha", writable && !gray && alpha);
SET_SENSITIVE ("filters-convolution-matrix", writable);
diff --git a/app/sanity.c b/app/sanity.c
index c1ad749349..91cdea9e24 100644
--- a/app/sanity.c
+++ b/app/sanity.c
@@ -481,6 +481,7 @@ sanity_check_gegl_ops (void)
"gegl:checkerboard",
"gegl:color",
"gegl:color-reduction",
+ "gegl:color-rotate",
"gegl:color-temperature",
"gegl:color-to-alpha",
"gegl:convolution-matrix",
diff --git a/app/tools/gimpgegltool.c b/app/tools/gimpgegltool.c
index d062fb92f8..a293de61ec 100644
--- a/app/tools/gimpgegltool.c
+++ b/app/tools/gimpgegltool.c
@@ -125,6 +125,7 @@ gimp_gegl_tool_operation_blacklisted (const gchar *name,
"gegl:checkerboard",
"gegl:color",
"gegl:color-reduction",
+ "gegl:color-rotation",
"gegl:color-temperature",
"gegl:color-to-alpha",
"gegl:convolution-matrix",
diff --git a/menus/image-menu.xml.in b/menus/image-menu.xml.in
index b4d995ed91..a03f0d1f82 100644
--- a/menus/image-menu.xml.in
+++ b/menus/image-menu.xml.in
@@ -547,6 +547,7 @@