diff --git a/src/zmapWindow/zmapWindow.c b/src/zmapWindow/zmapWindow.c
index a6a37ce7aeefc8a6db102111c6a195d7f1aabbfa..2337943f0700aa9884edb0d48b00fca7c95af58b 100755
--- a/src/zmapWindow/zmapWindow.c
+++ b/src/zmapWindow/zmapWindow.c
@@ -26,9 +26,9 @@
  *              
  * Exported functions: See ZMap/zmapWindow.h
  * HISTORY:
- * Last edited: Feb  9 14:19 2009 (rds)
+ * Last edited: Feb 11 11:55 2009 (rds)
  * Created: Thu Jul 24 14:36:27 2003 (edgrif)
- * CVS info:   $Id: zmapWindow.c,v 1.268 2009-02-09 14:55:08 rds Exp $
+ * CVS info:   $Id: zmapWindow.c,v 1.269 2009-02-11 15:14:00 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -1244,11 +1244,7 @@ void zMapWindowUpdateInfoPanel(ZMapWindow     window,
   select.feature_desc.feature_description = zmapWindowFeatureDescription(feature) ;
 
 
-
-#ifdef ED_G_NEVER_INCLUDE_THIS_CODE
-  style = zMapFeatureGetStyle((ZMapFeatureAny)feature) ;
-#endif /* ED_G_NEVER_INCLUDE_THIS_CODE */
-  style = zmapWindowStyleTableFind(set_data->style_table, feature->style_id) ;
+  style = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id) ;
 
 
   select.feature_desc.feature_set_description = zmapWindowFeatureSetDescription(zMapStyleGetID(style), style) ;
diff --git a/src/zmapWindow/zmapWindowColBump.c b/src/zmapWindow/zmapWindowColBump.c
index 7c7a61b780b164f7695d44c5c1b4d79432698fe2..3b2405b54236ee59240d22a86dc1a76b1311a6f9 100755
--- a/src/zmapWindow/zmapWindowColBump.c
+++ b/src/zmapWindow/zmapWindowColBump.c
@@ -27,9 +27,9 @@
  *
  * Exported functions: See zmapWindow_P.h
  * HISTORY:
- * Last edited: Feb 10 17:29 2009 (edgrif)
+ * Last edited: Feb 11 13:18 2009 (rds)
  * Created: Tue Sep  4 10:52:09 2007 (edgrif)
- * CVS info:   $Id: zmapWindowColBump.c,v 1.31 2009-02-10 17:31:01 edgrif Exp $
+ * CVS info:   $Id: zmapWindowColBump.c,v 1.32 2009-02-11 15:14:12 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -375,7 +375,7 @@ void zmapWindowColumnBumpRange(FooCanvasItem *column_item, ZMapStyleOverlapMode
       feature = g_object_get_data(G_OBJECT(column_item), ITEM_FEATURE_DATA) ;
       zMapAssert(feature) ;
 
-      style = zmapWindowStyleTableFind(set_data->style_table, feature->style_id) ;
+      style = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id) ;
     }
   else
     style = zmapWindowItemFeatureSetColumnStyle(set_data) ;
@@ -815,7 +815,7 @@ static void bumpColCB(gpointer data, gpointer user_data)
   set_data = g_object_get_data(G_OBJECT(column_group), ITEM_FEATURE_SET_DATA) ;
   zMapAssert(set_data) ;
 
-  style = zmapWindowStyleTableFind(set_data->style_table, feature->style_id) ;
+  style = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id) ;
 
   if (!(bump_data->bump_all) && bump_data->bumped_style != style)
     return ;
@@ -1084,7 +1084,7 @@ static void makeNameListCB(gpointer data, gpointer user_data)
     set_data = g_object_get_data(G_OBJECT(column_group), ITEM_FEATURE_SET_DATA) ;
     zMapAssert(set_data) ;
 
-    style = zmapWindowStyleTableFind(set_data->style_table, feature->style_id) ;
+    style = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id) ;
 
     if (!(complex->bump_all) && complex->bumped_style != style)
       return ;
@@ -1170,7 +1170,7 @@ static void makeNameListStrandedCB(gpointer data, gpointer user_data)
     set_data = g_object_get_data(G_OBJECT(column_group), ITEM_FEATURE_SET_DATA) ;
     zMapAssert(set_data) ;
 
-    style = zmapWindowStyleTableFind(set_data->style_table, feature->style_id) ;
+    style = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id) ;
 
     if (!(complex->bump_all) && complex->bumped_style != style)
       return ;
@@ -1489,7 +1489,6 @@ static void addGapsCB(gpointer data, gpointer user_data)
       FooCanvasItem *item = (FooCanvasItem *)(list_item->data) ;
       ZMapFeature feature = NULL ;
       ZMapWindowItemFeatureSetData set_data = NULL;
-      GHashTable *style_table = NULL;
       ZMapFeatureTypeStyle style = NULL;
       FooCanvasGroup *set_group ;
 
@@ -1503,9 +1502,8 @@ static void addGapsCB(gpointer data, gpointer user_data)
       zMapAssert(set_group) ;
       set_data = g_object_get_data(G_OBJECT(set_group), ITEM_FEATURE_SET_DATA) ;
       zMapAssert(set_data) ;
-      style_table = set_data->style_table ;
-      style = zmapWindowStyleTableFind(style_table, feature->style_id) ;
-      zMapAssert(style) ;
+
+      style = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id) ;
 
       /* Only display gaps on bumping and if the alignments have gaps. */
       if (zMapStyleGetMode(style) == ZMAPSTYLE_MODE_ALIGNMENT)
@@ -1758,7 +1756,7 @@ static void NEWaddMultiBackgrounds(gpointer data, gpointer user_data)
     return ;
 
   curr_id = curr_feature->original_id ;
-  curr_style = zmapWindowStyleTableFind(set_data->style_table, curr_feature->style_id) ;
+  curr_style = zmapWindowItemFeatureSetStyleFromID(set_data, curr_feature->style_id) ;
 
 
   /* Calculate horizontal mid point of this column of matches from the first item,
@@ -1894,7 +1892,7 @@ static void NEWaddMultiBackgrounds(gpointer data, gpointer user_data)
 	  else
 	    curr_start = curr_feature->feature.homol.y1 ;
 
-	  curr_style = zmapWindowStyleTableFind(set_data->style_table, curr_feature->style_id) ;
+	  curr_style = zmapWindowItemFeatureSetStyleFromID(set_data, curr_feature->style_id) ;
 
 	  /* We only do aligns (remember that there can be different types in a single col)
 	   * and only those for which joining of homols was requested. */
@@ -2971,7 +2969,7 @@ static void moveItemCB(gpointer data, gpointer user_data)
   zMapAssert(feature) ;
 
   /* Get hold of the style. */
-  style = zmapWindowStyleTableFind(col_data->set_data->style_table, feature->style_id) ;
+  style = zmapWindowItemFeatureSetStyleFromID(col_data->set_data, feature->style_id) ;
 
   /* x1, x2 always needed so might as well get y coords as well because foocanvas will have
    * calculated them anyway. */
diff --git a/src/zmapWindow/zmapWindowDrawFeatures.c b/src/zmapWindow/zmapWindowDrawFeatures.c
index 8be21203e7b1c21cc5cce1b1c2cd6c7c05f2a55d..353b8e92abaf47572b0ae1677594fdca8f8d21c9 100755
--- a/src/zmapWindow/zmapWindowDrawFeatures.c
+++ b/src/zmapWindow/zmapWindowDrawFeatures.c
@@ -26,9 +26,9 @@
  *              
  * Exported functions: 
  * HISTORY:
- * Last edited: Feb  9 14:26 2009 (rds)
+ * Last edited: Feb 11 11:37 2009 (rds)
  * Created: Thu Jul 29 10:45:00 2004 (rnc)
- * CVS info:   $Id: zmapWindowDrawFeatures.c,v 1.227 2009-02-09 14:55:08 rds Exp $
+ * CVS info:   $Id: zmapWindowDrawFeatures.c,v 1.228 2009-02-11 15:13:28 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -1315,14 +1315,10 @@ static void ProcessFeature(gpointer key, gpointer data, gpointer user_data)
 
   set_data = g_object_get_data(G_OBJECT(column_group), ITEM_FEATURE_SET_DATA) ;
   zMapAssert(set_data) ;
-  
-  /* Get the styles table from the column and look for the features style.... */
-  if (!(style = zmapWindowStyleTableFind(set_data->style_table, feature->style_id)))
-    {
-      style = zMapFindStyle(featureset_data->styles, feature->style_id) ;
 
-      style = zmapWindowStyleTableAddCopy(set_data->style_table, style) ;
-    }
+  style = zMapFindStyle(featureset_data->styles, feature->style_id) ;
+  
+  style = zmapWindowItemFeatureSetStyleFromStyle(set_data, style) ;
 
   feature_item = zmapWindowFeatureDraw(window, style, column_group, feature) ;
 
diff --git a/src/zmapWindow/zmapWindowFeature.c b/src/zmapWindow/zmapWindowFeature.c
index bef064f92bd4dc87d4fb643015a005a50ea6276d..1eff4f462c3589de492e68d574bd6a027cd9181d 100755
--- a/src/zmapWindow/zmapWindowFeature.c
+++ b/src/zmapWindow/zmapWindowFeature.c
@@ -28,9 +28,9 @@
  *
  * Exported functions: See zmapWindow_P.h
  * HISTORY:
- * Last edited: Feb  9 12:23 2009 (rds)
+ * Last edited: Feb 11 11:41 2009 (rds)
  * Created: Mon Jan  9 10:25:40 2006 (edgrif)
- * CVS info:   $Id: zmapWindowFeature.c,v 1.153 2009-02-09 14:55:08 rds Exp $
+ * CVS info:   $Id: zmapWindowFeature.c,v 1.154 2009-02-11 15:14:38 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -502,30 +502,11 @@ FooCanvasItem *zmapWindowFeatureDraw(ZMapWindow      window,
 				     ZMapFeature     feature)
 {
   FooCanvasItem *new_feature = NULL ;
-
-#ifdef ED_G_NEVER_INCLUDE_THIS_CODE
-  ZMapWindowItemFeatureSetData set_data ;
-#endif /* ED_G_NEVER_INCLUDE_THIS_CODE */
-
   ZMapFeatureContext context ;
   ZMapFeatureAlignment alignment ;
   ZMapFeatureBlock block ;
   ZMapFeatureSet set ;
 
-#ifdef ED_G_NEVER_INCLUDE_THIS_CODE
-
-  /* THIS CODE NEEDS TO GO IN THE CALLER FUNC. */
-  set_data = g_object_get_data(G_OBJECT(set_group), ITEM_FEATURE_SET_DATA) ;
-  zMapAssert(set_data) ;
-  
-  /* Get the styles table from the column and look for the features style.... */
-  if (!(style = zmapWindowStyleTableFind(set_data->style_table, feature->style_id)))
-    {
-      style = zMapFindStyle(window->read_only_styles, feature->style_id);
-      zmapWindowStyleTableAdd(set_data->style_table, style) ;
-    }
-#endif /* ED_G_NEVER_INCLUDE_THIS_CODE */
-
 
   /* Users will often not want to see what is on the reverse strand, style specifies what should
    * be shown. */
@@ -1666,18 +1647,14 @@ void zmapMakeItemMenu(GdkEventButton *button_event, ZMapWindow window, FooCanvas
   zMapAssert(feature) ;
 
   {
-    GHashTable *style_table = NULL;
     FooCanvasGroup *column_group =  NULL ;
     ZMapWindowItemFeatureSetData set_data = NULL;
-
     
     column_group = zmapWindowContainerGetParentContainerFromItem(item) ;
-    set_data = g_object_get_data(G_OBJECT(column_group), ITEM_FEATURE_SET_DATA);
+    set_data     = g_object_get_data(G_OBJECT(column_group), ITEM_FEATURE_SET_DATA);
     zMapAssert(set_data);
     
-    style_table = set_data->style_table;
-    /* Get the styles table from the column and look for the features style.... */
-    style = zmapWindowStyleTableFind(style_table, (feature->style_id)) ;
+    style = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id);
   }
 
 
@@ -2562,7 +2539,7 @@ FooCanvasItem *addNewCanvasItem(ZMapWindow window, FooCanvasGroup *feature_group
   zMapAssert(feature_set) ;
 
   set_data = g_object_get_data(G_OBJECT(feature_group), ITEM_FEATURE_SET_DATA) ;
-  style = zmapWindowStyleTableFind(set_data->style_table, feature->style_id) ;
+  style    = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id) ;
 
   container_features = zmapWindowContainerGetFeatures(feature_group);
   column_is_empty = !(container_features->item_list);
@@ -2572,21 +2549,10 @@ FooCanvasItem *addNewCanvasItem(ZMapWindow window, FooCanvasGroup *feature_group
 
   if (bump_col)
     {
-
-#ifdef ED_G_NEVER_INCLUDE_THIS_CODE
-      if ((set_data = g_object_get_data(G_OBJECT(feature_group), ITEM_FEATURE_SET_DATA)))
+      if((bump_mode = zMapStyleGetOverlapMode(style)) != ZMAPOVERLAP_COMPLETE)
 	{
-#endif /* ED_G_NEVER_INCLUDE_THIS_CODE */
-	  
-	  if((bump_mode = zMapStyleGetOverlapMode(style)) != ZMAPOVERLAP_COMPLETE)
-	    {
-	      zmapWindowColumnBump(FOO_CANVAS_ITEM(feature_group), bump_mode);
-	    }
-
-#ifdef ED_G_NEVER_INCLUDE_THIS_CODE
+	  zmapWindowColumnBump(FOO_CANVAS_ITEM(feature_group), bump_mode);
 	}
-#endif /* ED_G_NEVER_INCLUDE_THIS_CODE */
-
 
       if (column_is_empty)
 	zmapWindowColOrderPositionColumns(window);
diff --git a/src/zmapWindow/zmapWindowItemFactory.c b/src/zmapWindow/zmapWindowItemFactory.c
index 09e5c7af458c1fe41242b2e010202663995908e0..f90bd2cb5484e021c833d1e8f7c889d19e0e1372 100755
--- a/src/zmapWindow/zmapWindowItemFactory.c
+++ b/src/zmapWindow/zmapWindowItemFactory.c
@@ -28,9 +28,9 @@
  *
  * Exported functions: See zmapWindowItemFactory.h
  * HISTORY:
- * Last edited: Feb  3 14:55 2009 (rds)
+ * Last edited: Feb 11 13:18 2009 (rds)
  * Created: Mon Sep 25 09:09:52 2006 (rds)
- * CVS info:   $Id: zmapWindowItemFactory.c,v 1.55 2009-02-03 14:57:33 rds Exp $
+ * CVS info:   $Id: zmapWindowItemFactory.c,v 1.56 2009-02-11 15:12:50 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -330,7 +330,6 @@ FooCanvasItem *zmapWindowFToIFactoryRunSingle(ZMapWindowFToIFactory factory,
   ZMapWindowItemFeatureSetData set_data = NULL;
   ZMapFeatureTypeStyle style = NULL;
   ZMapStyleMode style_mode = ZMAPSTYLE_MODE_INVALID ;
-  GHashTable *style_table = NULL;
   gboolean no_points_in_block = TRUE;
   /* check here before they get called.  I'd prefer to only do this
    * once per factory rather than once per Run! */
@@ -345,9 +344,8 @@ FooCanvasItem *zmapWindowFToIFactoryRunSingle(ZMapWindowFToIFactory factory,
   set_data = g_object_get_data(G_OBJECT(parent_container), ITEM_FEATURE_SET_DATA) ;
   zMapAssert(set_data) ;
   
-  style_table = set_data->style_table;
   /* Get the styles table from the column and look for the features style.... */
-  if (!(style = zmapWindowStyleTableFind(style_table, feature->style_id)))
+  if (!(style = zmapWindowItemFeatureSetStyleFromID(set_data, feature->style_id)))
     {
       zMapAssertNotReached();
     }