diff --git a/ChangeLog b/ChangeLog
index 017fa5d..d9d9681 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2010-12-10  6.6.6-5 Cristy  <quetzlzacatenango@image...>
   * Account for virtual canvas for the -flip / -flop options (reference
     http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=17626).
+  * Also for -transpose and transverse options
 
 2010-12-09  6.6.6-4 Anthony Thyssen <A.Thyssen@griffith...>
   * Replace IsMagickColorSimilar() which provides the Fuzz Factor threshold
diff --git a/magick/transform.c b/magick/transform.c
index 00a2372..1c47e89 100644
--- a/magick/transform.c
+++ b/magick/transform.c
@@ -1970,7 +1970,8 @@
 %   T r a n s f o r m I m a g e s                                             %
 %                                                                             %
 %                                                                             %
-%                                                                             % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  TransformImages() calls TransformImage() on each image of a sequence.
 %
@@ -2147,8 +2148,6 @@
   page=transpose_image->page;
   Swap(page.width,page.height);
   Swap(page.x,page.y);
-  if (page.width != 0)
-    page.x=(ssize_t) (page.width-transpose_image->columns-page.x);
   transpose_image->page=page;
   if (status == MagickFalse)
     transpose_image=DestroyImage(transpose_image);
@@ -2285,6 +2284,8 @@
   page=transverse_image->page;
   Swap(page.width,page.height);
   Swap(page.x,page.y);
+  if (page.width != 0)
+    page.x=(ssize_t) (page.width-transverse_image->columns-page.x);
   if (page.height != 0)
     page.y=(ssize_t) (page.height-transverse_image->rows-page.y);
   transverse_image->page=page;
