diff --git a/src/zmapWindow/zmapWindow.c b/src/zmapWindow/zmapWindow.c
index b5329ddd7b4cf73ef98f51d6d8bc8c15c115c6b1..c4fb580bf362b0d3964fd116efbd7e20cb4e364f 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 12:37 2009 (rds)
+ * Last edited: May  5 20:29 2009 (rds)
  * Created: Thu Jul 24 14:36:27 2003 (edgrif)
- * CVS info:   $Id: zmapWindow.c,v 1.280 2009-05-05 11:38:06 rds Exp $
+ * CVS info:   $Id: zmapWindow.c,v 1.281 2009-05-06 08:59:22 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -3533,22 +3533,8 @@ void zmapWindowFetchData(ZMapWindow window, ZMapFeatureBlock block,
       fetch_data->end   = block->block_to_sequence.q2 ;
     }
   else if (zmapWindowMarkIsSet(window->mark) &&
-	   zmapWindowMarkGetSequenceRange(window->mark, &start, &end))
+	   zmapWindowGetMarkedSequenceRangeFwd(window, block, &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 ;
     }
diff --git a/src/zmapWindow/zmapWindowColConfig.c b/src/zmapWindow/zmapWindowColConfig.c
index ef3e9060f6ab454ed387c13aa0ddf571cd17c0bf..b482f959ae0fb89c3c2670b97e718e5953bb13a7 100755
--- a/src/zmapWindow/zmapWindowColConfig.c
+++ b/src/zmapWindow/zmapWindowColConfig.c
@@ -26,9 +26,9 @@
  *              
  * Exported functions: See ZMap/zmapWindow.h
  * HISTORY:
- * Last edited: Apr 17 16:31 2009 (rds)
+ * Last edited: May  6 09:58 2009 (rds)
  * Created: Thu Mar  2 09:07:44 2006 (edgrif)
- * CVS info:   $Id: zmapWindowColConfig.c,v 1.29 2009-04-20 14:34:09 rds Exp $
+ * CVS info:   $Id: zmapWindowColConfig.c,v 1.30 2009-05-06 08:59:22 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -497,25 +497,25 @@ static void configure_get_column_lists(ColConfigure configure_data,
     {
       ForwardReverseColumnListsStruct forward_reverse_lists = {NULL};
       FooCanvasGroup *block_group;
+      ZMapFeatureBlock block;
       gboolean use_mark_if_marked = FALSE;
 
       /* get block */
       block_group = configure_get_point_block_container(configure_data, column_group);
+
+      block = g_object_get_data(G_OBJECT(block_group), ITEM_FEATURE_DATA);
       
       forward_reverse_lists.loaded_or_deferred = deferred_or_loaded;
       forward_reverse_lists.block_data = g_object_get_data(G_OBJECT(block_group), ITEM_FEATURE_BLOCK_DATA);
 
       if(use_mark_if_marked && window->mark && zmapWindowMarkIsSet(window->mark))
 	{
-	  double x1, x2, y1, y2;
-	  zmapWindowMarkGetWorldRange(window->mark, &x1, &y1, &x2, &y2);
-	  forward_reverse_lists.mark1 = y1;
-	  forward_reverse_lists.mark2 = y2;
+	  zmapWindowGetMarkedSequenceRangeFwd(window, block, 
+					      &(forward_reverse_lists.mark1),
+					      &(forward_reverse_lists.mark2));
 	}
       else
 	{
-	  ZMapFeatureBlock block;
-	  block = g_object_get_data(G_OBJECT(block_group), ITEM_FEATURE_DATA);
 	  forward_reverse_lists.mark1 = block->block_to_sequence.q1;
 	  forward_reverse_lists.mark2 = block->block_to_sequence.q2;
 	}
@@ -1025,11 +1025,9 @@ static GtkWidget *deferred_cols_panel(NotebookPage notebook_page,
   window = notebook_page->configure_data->window;
 
   if((mark_set = zmapWindowMarkIsSet(window->mark)))
-    {
-      double x1, x2, y1, y2;
-      zmapWindowMarkGetWorldRange(window->mark, &x1, &y1, &x2, &y2);
-      mark1 = y1;
-      mark2 = y2;
+    {      
+      zmapWindowGetMarkedSequenceRangeFwd(window, deferred_page_data->block, 
+					  &mark1, &mark2);
     }
   
   frame = gtk_frame_new("Available Columns");
@@ -1241,15 +1239,19 @@ static void deferred_page_populate(NotebookPage notebook_page, FooCanvasGroup *c
   GList *all_deferred_columns = NULL;
   GtkWidget *hbox, *frame;
   FooCanvasGroup *point_block = NULL;
-  
+  DeferredPageData page_data;
+
   point_block = configure_get_point_block_container(notebook_page->configure_data, column_group);
+  page_data   = (DeferredPageData)notebook_page->page_data;
+
+  page_data->block = g_object_get_data(G_OBJECT(point_block), ITEM_FEATURE_DATA);;
 
   configure_get_column_lists(notebook_page->configure_data,
 			     NULL, TRUE, 
 			     &all_deferred_columns, NULL);
 
   hbox = notebook_page->page_container;
-
+  
   if((frame = deferred_cols_panel(notebook_page, all_deferred_columns)))
     {
       gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0);
@@ -1855,9 +1857,9 @@ static void loaded_show_button_cb(GtkToggleButton *togglebutton, gpointer user_d
 			  frame_column = zmapWindowFToIFindSetItem(window->context_to_item, feature_set, 
 								   set_data->strand, frame);
 			  
-			  if(frame_column && zmapWindowContainerHasFeatures(frame_column))
+			  if(frame_column && zmapWindowContainerHasFeatures(FOO_CANVAS_GROUP(frame_column)))
 			    zmapWindowColumnSetState(window, 
-						     frame_column,
+						     FOO_CANVAS_GROUP(frame_column),
 						     button_data->show_hide_state, 
 						     FALSE) ;
 			}
diff --git a/src/zmapWindow/zmapWindowUtils.c b/src/zmapWindow/zmapWindowUtils.c
index fe42f329a554f79d21917bc84b567a7232de16d5..f5bf3c4acb74cb2da8b1658d43c9f7e96e11b1d1 100755
--- a/src/zmapWindow/zmapWindowUtils.c
+++ b/src/zmapWindow/zmapWindowUtils.c
@@ -26,9 +26,9 @@
  *              
  * Exported functions: See ZMap/zmapWindow.h
  * HISTORY:
- * Last edited: Apr 22 17:29 2009 (edgrif)
+ * Last edited: May  5 20:43 2009 (rds)
  * Created: Thu Jan 20 14:43:12 2005 (edgrif)
- * CVS info:   $Id: zmapWindowUtils.c,v 1.49 2009-04-22 16:30:27 edgrif Exp $
+ * CVS info:   $Id: zmapWindowUtils.c,v 1.50 2009-05-06 08:59:22 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -306,6 +306,40 @@ gboolean zmapWindowUpdateStyles(ZMapWindow window, GData **read_only_styles, GDa
 }
 
 
+gboolean zmapWindowGetMarkedSequenceRangeFwd(ZMapWindow       window, 
+					     ZMapFeatureBlock block,
+					     int *start, int *end)
+{
+  gboolean result = FALSE ;
+
+  result = zmapWindowMarkGetSequenceRange(window->mark, start, end);
+
+  if(result && window->revcomped_features && start && end)
+    {
+      int seq_end, x, y, z;
+
+      /* Need to reverse complement the mark here... */
+      seq_end = block->block_to_sequence.q2;
+      x = *start;
+      y = *end;
+
+      /* swop */
+      z = x;
+      x = y;
+      y = z;
+
+      /* invert */
+      x = seq_end - x + 1;
+
+      /* invert */
+      y = seq_end - y + 1;
+
+      *start = x;
+      *end   = y;
+    }
+
+  return result ;
+}
 
 
 
diff --git a/src/zmapWindow/zmapWindow_P.h b/src/zmapWindow/zmapWindow_P.h
index 602a054e3887cac204b8b09fc70cb884f42394eb..1649fdda5346a73d5b79fa608ada9e5be829aa54 100755
--- a/src/zmapWindow/zmapWindow_P.h
+++ b/src/zmapWindow/zmapWindow_P.h
@@ -25,9 +25,9 @@
  * Description: Defines internal interfaces/data structures of zMapWindow.
  *              
  * HISTORY:
- * Last edited: Apr 27 11:56 2009 (edgrif)
+ * Last edited: May  6 09:50 2009 (rds)
  * Created: Fri Aug  1 16:45:58 2003 (edgrif)
- * CVS info:   $Id: zmapWindow_P.h,v 1.240 2009-04-28 14:35:39 edgrif Exp $
+ * CVS info:   $Id: zmapWindow_P.h,v 1.241 2009-05-06 08:59:23 rds Exp $
  *-------------------------------------------------------------------
  */
 #ifndef ZMAP_WINDOW_P_H
@@ -1314,6 +1314,9 @@ void zmapWindowDrawSeparatorFeatures(ZMapWindow           window,
 				     ZMapFeatureTypeStyle style);
 
 gboolean zmapWindowUpdateStyles(ZMapWindow window, GData **read_only_styles, GData **display_styles) ;
+gboolean zmapWindowGetMarkedSequenceRangeFwd(ZMapWindow       window, 
+					     ZMapFeatureBlock block,
+					     int *start, int *end);
 
 GHashTable *zmapWindowStyleTableCreate(void) ;
 ZMapFeatureTypeStyle zmapWindowStyleTableAddCopy(GHashTable *style_table, ZMapFeatureTypeStyle new_style) ;