diff --git a/clutter/clutter-actor-box.c b/clutter/clutter-actor-box.c
index 89bedd952..4f9b07193 100644
--- a/clutter/clutter-actor-box.c
+++ b/clutter/clutter-actor-box.c
@@ -420,6 +420,55 @@ clutter_actor_box_progress (const GValue *a,
   return TRUE;
 }
 
+/**
+ * clutter_actor_box_set_origin:
+ * @box: a #ClutterActorBox
+ * @x: the X coordinate of the new origin
+ * @y: the Y coordinate of the new origin
+ *
+ * Changes the origin of @box, maintaining the size of the #ClutterActorBox.
+ *
+ * Since: 1.6
+ */
+void
+clutter_actor_box_set_origin (ClutterActorBox *box,
+                              gfloat           x,
+                              gfloat           y)
+{
+  gfloat width, height;
+
+  g_return_if_fail (box != NULL);
+
+  width = box->x2 - box->x1;
+  height = box->y2 - box->y1;
+
+  box->x1 = x;
+  box->y1 = y;
+  box->x2 = box->x1 + width;
+  box->y2 = box->y1 + height;
+}
+
+/**
+ * clutter_actor_box_set_size:
+ * @box: a #ClutterActorBox
+ * @width: the new width
+ * @height: the new height
+ *
+ * Sets the size of @box, maintaining the origin of the #ClutterActorBox.
+ *
+ * Since: 1.6
+ */
+void
+clutter_actor_box_set_size (ClutterActorBox *box,
+                            gfloat           width,
+                            gfloat           height)
+{
+  g_return_if_fail (box != NULL);
+
+  box->x2 = box->x1 + width;
+  box->y2 = box->y1 + height;
+}
+
 G_DEFINE_BOXED_TYPE_WITH_CODE (ClutterActorBox, clutter_actor_box,
                                clutter_actor_box_copy,
                                clutter_actor_box_free,
diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h
index 6854f2913..e8fd67307 100644
--- a/clutter/clutter-types.h
+++ b/clutter/clutter-types.h
@@ -189,6 +189,13 @@ void             clutter_actor_box_union          (const ClutterActorBox *a,
                                                    const ClutterActorBox *b,
                                                    ClutterActorBox       *result);
 
+void             clutter_actor_box_set_origin     (ClutterActorBox       *box,
+                                                   gfloat                 x,
+                                                   gfloat                 y);
+void             clutter_actor_box_set_size       (ClutterActorBox       *box,
+                                                   gfloat                 width,
+                                                   gfloat                 height);
+
 /**
  * ClutterGeometry:
  * @x: X coordinate of the top left corner of an actor
diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt
index 2025dfad8..2f70ad838 100644
--- a/doc/reference/clutter/clutter-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -451,7 +451,9 @@ clutter_actor_box_get_x
 clutter_actor_box_get_y
 clutter_actor_box_get_width
 clutter_actor_box_get_height
+clutter_actor_box_set_origin
 clutter_actor_box_get_origin
+clutter_actor_box_set_size
 clutter_actor_box_get_size
 clutter_actor_box_get_area
 clutter_actor_box_contains