diff --git a/src/zmapWindow/zmapWindow.c b/src/zmapWindow/zmapWindow.c
index ff64db1c2d9af3ce1df40561414a2d50f986ddae..b5329ddd7b4cf73ef98f51d6d8bc8c15c115c6b1 100755
--- a/src/zmapWindow/zmapWindow.c
+++ b/src/zmapWindow/zmapWindow.c
@@ -26,9 +26,9 @@
  *              
  * Exported functions: See ZMap/zmapWindow.h
  * HISTORY:
- * Last edited: May  5 10:45 2009 (rds)
+ * Last edited: May  5 12:37 2009 (rds)
  * Created: Thu Jul 24 14:36:27 2003 (edgrif)
- * CVS info:   $Id: zmapWindow.c,v 1.279 2009-05-05 09:53:19 rds Exp $
+ * CVS info:   $Id: zmapWindow.c,v 1.280 2009-05-05 11:38:06 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -3535,6 +3535,20 @@ void zmapWindowFetchData(ZMapWindow window, ZMapFeatureBlock block,
   else if (zmapWindowMarkIsSet(window->mark) &&
 	   zmapWindowMarkGetSequenceRange(window->mark, &start, &end))
     {
+      if(window->revcomped_features)
+	{
+	  int tmp;
+	  /* Need to reverse complement the mark here... */
+	  /* swop */
+	  tmp   = start;
+	  start = end;
+	  end   = tmp;
+	  /* invert */
+	  start = block->block_to_sequence.q2 - start + 1;
+	  /* invert */
+	  end   = block->block_to_sequence.q2 - end + 1;
+	}
+
       fetch_data->start = start ;
       fetch_data->end   = end ;
     }