diff --git a/src/main/java/de/ids_mannheim/korap/resource/rewrite/CollectionCleanupFilter.java b/src/main/java/de/ids_mannheim/korap/resource/rewrite/CollectionCleanupFilter.java
index 93db8ae..edca117 100644
--- a/src/main/java/de/ids_mannheim/korap/resource/rewrite/CollectionCleanupFilter.java
+++ b/src/main/java/de/ids_mannheim/korap/resource/rewrite/CollectionCleanupFilter.java
@@ -10,10 +10,10 @@
  * @author hanl
  * @date 28/07/2015
  */
-//todo: test
 public class CollectionCleanupFilter extends RewriteQuery {
 
     // track path to operand
+    @Deprecated
     private StringBuilder builder;
 
     public CollectionCleanupFilter() {
@@ -30,6 +30,7 @@
     }
 
     private JsonNode process(JsonNode root) {
+        JsonNode sub = root;
         if (root.isObject()) {
             if (root.has("operands")) {
                 JsonNode node = root.at("/operands");
@@ -40,25 +41,28 @@
                     if (s == null)
                         it.remove();
                 }
+
+                int count = node.size();
+                if (count == 1)
+                    sub = node.path(0);
+                else if (count
+                        == 0) // can't do anything here -- fixme: edge case?!
+                    return null;
             }
 
-            JsonNode sub = processNodes(root);
             if (!root.equals(sub)) {
-                if (sub == null) {
-                    //can't do anything here -- fixme: edge case?!
-                    return null;
-                }else if (sub.isObject()) {
+                if (sub.isObject()) {
                     ObjectNode ob = (ObjectNode) root;
                     ob.removeAll();
                     ob.putAll((ObjectNode) sub);
                 }
-
             }
         }
         return root;
     }
 
     // return null deletes node, if node return replace at level -1
+    @Deprecated
     private JsonNode processNodes(JsonNode jsonNode) {
         if (jsonNode.isObject()) {
             if (jsonNode.has("operands")) {
