diff --git a/Biobase/TrainingData/Manip.hs b/Biobase/TrainingData/Manip.hs
--- a/Biobase/TrainingData/Manip.hs
+++ b/Biobase/TrainingData/Manip.hs
@@ -30,9 +30,12 @@
 fRemoveTriplets True td@TrainingData{..} = td{secondary = sort $ rmTs secondary} where
   rmTs [] = []
   rmTs (x:xs)
-    | ys <- triplets x xs
-    , not $ null ys = if worst x ys then rmTs xs else rmTs xs++[x]
+    | length ts == 1 = if worst x ts
+                         then rmTs xs
+                         else rmTs . filter (/= head ts) $ x:xs -- analysis of which one is worse
+    | length ts >= 2 = rmTs xs -- always remove a double triplet "X": (X)
     | otherwise = x : rmTs xs
     where
+      ts = triplets x xs
       triplets ((i,j),_) zs = filter (\((k,l),_) -> i==k || i==l || j==k || j==l) zs
       worst z zs = last (sortBy (comparing snd) $ z : zs) == z
diff --git a/BiobaseTrainingData.cabal b/BiobaseTrainingData.cabal
--- a/BiobaseTrainingData.cabal
+++ b/BiobaseTrainingData.cabal
@@ -1,5 +1,5 @@
 name:           BiobaseTrainingData
-version:        0.1.2.0
+version:        0.1.2.2
 author:         Christian Hoener zu Siederdissen
 maintainer:     choener@tbi.univie.ac.at
 homepage:       http://www.tbi.univie.ac.at/~choener/
