https://github.com/ImageMagick/ImageMagick/issues/1879
diff --git a/ChangeLog b/ChangeLog
index 9f94727..642ccf7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
 2020-04-25  7.0.10-9 Cristy  <quetzlzacatenango@image...>
   * Allocate a colormap of the maximum colors when color reducing an image
     sequence.
+  * Label was not centered properly (reference
+    https://github.com/ImageMagick/ImageMagick/issues/1879).
 
 2020-04-24  7.0.10-8 Cristy  <quetzlzacatenango@image...>
   * Release ImageMagick version 7.0.10-8, GIT revision 17175:481b85f:20200424.
diff --git a/MagickCore/annotate.c b/MagickCore/annotate.c
index 80cdd59..41b303c 100644
--- a/MagickCore/annotate.c
+++ b/MagickCore/annotate.c
@@ -1781,15 +1781,17 @@
         (IsUTFSpace(GetUTFCode(p+grapheme[i].cluster)) != MagickFalse) &&
         (IsUTFSpace(code) == MagickFalse))
       origin.x+=(FT_Pos) (64.0*draw_info->interword_spacing);
-    else if (i == last_character)
-      {
-        if (bounds.xMax == 0)
-          origin.x+=(FT_Pos) grapheme[i].x_advance;
-        else
-          origin.x+=(FT_Pos) bounds.xMax;
-      }
     else
-      origin.x+=(FT_Pos) grapheme[i].x_advance;
+      if (i == last_character)
+        {
+          if ((bounds.xMax == 0) ||
+              (annotate_info->gravity == CenterGravity))
+            origin.x+=(FT_Pos) grapheme[i].x_advance;
+          else
+            origin.x+=(FT_Pos) bounds.xMax;
+        }
+      else
+        origin.x+=(FT_Pos) grapheme[i].x_advance;
     metrics->origin.x=(double) origin.x;
     metrics->origin.y=(double) origin.y;
     if (metrics->origin.x > metrics->width)