diff --git a/compiler/vectorise/Vectorise/Type/Classify.hs b/compiler/vectorise/Vectorise/Type/Classify.hs
index 7122cb76640a5fba19b13922e90b53bc11356cc3..9717aa0ca1133ee92009c8b5d0a74354befc371a 100644
--- a/compiler/vectorise/Vectorise/Type/Classify.hs
+++ b/compiler/vectorise/Vectorise/Type/Classify.hs
@@ -43,7 +43,15 @@ classifyTyCons :: UniqFM Bool                     -- ^type constructor conversio
                -> ([TyCon], [TyCon], [TyCon])     -- ^tycons to be converted & not to be converted
 classifyTyCons convStatus tcs = classify [] [] [] convStatus (tyConGroups tcs)
   where
-    classify conv keep ignored _  [] = (conv, keep, ignored)
+
+--  ******** HACKS *********
+--  TyCons that were marked as 'keep' are instead put into the 'conv' list, 
+--  because keeping them was breaking the nbody example. 
+--  This needs to be fixed. -- BL 29/11/2011
+--  classify conv keep ignored _  [] = (conv, keep, ignored)
+    classify conv keep ignored _  [] = (conv ++ keep, [], ignored)
+--  ************************
+
     classify conv keep ignored cs ((tcs, ds) : rs)
       | can_convert && must_convert
       = classify (tcs ++ conv) keep ignored (cs `addListToUFM` [(tc, True) | tc <- tcs]) rs