diff --git a/combo/predict.py b/combo/predict.py
index 42e8bed149595e06bee8979610e95fc38686ffbf..e262b7061e8ac9dcc1f970bd456d3a3923055ebd 100644
--- a/combo/predict.py
+++ b/combo/predict.py
@@ -173,7 +173,9 @@ class SemanticMultitaskPredictor(predictor.Predictor):
                         if len(features) == 0:
                             field_value = "_"
                         else:
-                            field_value = "|".join(sorted(features))
+                            lowercase_features = [f.lower() for f in features]
+                            arg_indices = sorted(range(len(lowercase_features)), key=lowercase_features.__getitem__)
+                            field_value = "|".join(np.array(features)[arg_indices].tolist())
 
                         token[field_name] = field_value
                     elif field_name == "lemma":