diff --git a/src/zmapWindow/zmapWindowNavigator.c b/src/zmapWindow/zmapWindowNavigator.c
index fef97f23073c167fd83bef20313f76279c1e9e16..cd3a281468a9169df36605d9ea47234c0b171b62 100755
--- a/src/zmapWindow/zmapWindowNavigator.c
+++ b/src/zmapWindow/zmapWindowNavigator.c
@@ -27,9 +27,9 @@
  *
  * Exported functions: See XXXXXXXXXXXXX.h
  * HISTORY:
- * Last edited: Apr  8 14:27 2009 (rds)
+ * Last edited: Apr 20 15:30 2009 (rds)
  * Created: Wed Sep  6 11:22:24 2006 (rds)
- * CVS info:   $Id: zmapWindowNavigator.c,v 1.48 2009-04-08 13:27:59 rds Exp $
+ * CVS info:   $Id: zmapWindowNavigator.c,v 1.49 2009-04-20 14:30:49 rds Exp $
  *-------------------------------------------------------------------
  */
 
@@ -1008,7 +1008,7 @@ static ZMapFeatureContextExecuteStatus drawContext(GQuark key_id,
 	    ZMapFeatureTypeStyle navigator_version, context_copy, context_version;
 	    ZMapStyleOverlapMode overlap_mode;
 
-	    context_version = zmapWindowContainerGetStyle(item);
+	    context_version = zmapWindowContainerGetStyle(FOO_CANVAS_GROUP(item));
 
 	    if((navigator_version = getPredefinedStyleByName(zMapStyleGetName(context_version))))
 	      {
@@ -1056,7 +1056,6 @@ static ZMapFeatureContextExecuteStatus drawContext(GQuark key_id,
 static gboolean initialiseScaleIfNotExists(ZMapFeatureBlock block)
 {
   ZMapFeatureSet scale;
-  ZMapFeatureTypeStyle style;
   char *scale_id = ZMAP_FIXED_STYLE_SCALE_NAME;
   gboolean got_initialised = FALSE;
 
@@ -1064,14 +1063,6 @@ static gboolean initialiseScaleIfNotExists(ZMapFeatureBlock block)
     {
       scale = zMapFeatureSetCreate(scale_id, NULL);
 
-#ifdef RDS_STYLE_NO_LONGER_REQUIRED_FOR_FEATURESET
-      if(!(style = zMapFindStyle(((ZMapFeatureContext)(block->parent->parent))->styles, g_quark_from_string(scale_id))))
-        {
-          style = NULL;
-        }
-      zMapFeatureSetStyle(scale, style);
-#endif /* RDS_STYLE_NO_LONGER_REQUIRED_FOR_FEATURESET */
-
       zMapFeatureBlockAddFeatureSet(block, scale);
 
       got_initialised = TRUE;
@@ -1164,6 +1155,8 @@ static void createColumnCB(gpointer data, gpointer user_data)
   if((style = zMapFindStyle(draw_data->styles, set_id)) &&
      (draw_data->current_set = zMapFeatureBlockGetSetByID(draw_data->current_block, set_id)))
     {
+      GList *style_list = NULL;
+
       zMapAssert(draw_data->current_set);
 
       features = zmapWindowContainerGetFeatures(draw_data->container_strand);
@@ -1183,13 +1176,20 @@ static void createColumnCB(gpointer data, gpointer user_data)
 
       style    = zMapFeatureStyleCopy(style);
 
-      set_data = zmapWindowItemFeatureSetCreate(draw_data->navigate->current_window,
-						draw_data->container_feature_set,
-                                                style, ZMAPSTRAND_FORWARD, ZMAPFRAME_NONE);
+      style_list = zmapWindowFeatureSetStyles(draw_data->navigate->current_window,
+					      draw_data->styles, set_id);
 
-      zMapAssert(set_data->window);
-      
-      zmapWindowItemFeatureSetAttachFeatureSet(set_data, draw_data->current_set);
+      if(style_list)		/* This should be tested earlier! i.e. We shouldn't be creating the column. */
+	{
+	  set_data = zmapWindowItemFeatureSetCreate(draw_data->navigate->current_window,
+						    draw_data->container_feature_set,
+						    set_id, 0, style_list,
+						    ZMAPSTRAND_FORWARD, ZMAPFRAME_NONE);
+
+	  zmapWindowItemFeatureSetAttachFeatureSet(set_data, draw_data->current_set);
+	  
+	  g_list_free(style_list);
+	}
 
       zmapWindowContainerSetVisibility(draw_data->container_feature_set, TRUE);
 
@@ -1770,7 +1770,7 @@ static void customiseFactory(ZMapWindowNavigator navigate)
 {
   ZMapWindowFToIFactoryProductionTeamStruct factory_helpers = {NULL};
   
-  /* create a factory and set up */
+  /* create a factory and set up */ 
   navigate->item_factory = zmapWindowFToIFactoryOpen(navigate->ftoi_hash, NULL);
   factory_helpers.feature_size_request = factoryFeatureSizeReq;
   factory_helpers.item_created         = factoryItemHandler;