diff --git a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/AsyncDeliverTasks.java b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/AsyncDeliverTasks.java
index ecd9f3d..a0b3545 100644
--- a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/AsyncDeliverTasks.java
+++ b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/AsyncDeliverTasks.java
@@ -20,12 +20,10 @@
 
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.felix.eventadmin.impl.handler.EventHandlerProxy;
 import org.osgi.service.event.Event;
 
 /**
@@ -69,6 +67,7 @@
      */
     public void execute(final Collection tasks, final Event event)
     {
+        /*
         final Iterator i = tasks.iterator();
         boolean hasOrdered = false;
         while ( i.hasNext() )
@@ -85,7 +84,7 @@
 
         }
         if ( hasOrdered )
-        {
+        {*/
             final Thread currentThread = Thread.currentThread();
             TaskExecuter executer = null;
             synchronized (m_running_threads )
@@ -105,7 +104,7 @@
             {
                 m_pool.executeTask(executer);
             }
-        }
+        //}
     }
 
     private final class TaskExecuter implements Runnable
diff --git a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/SyncDeliverTasks.java b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/SyncDeliverTasks.java
index 59c702c..5e17362 100644
--- a/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/SyncDeliverTasks.java
+++ b/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/tasks/SyncDeliverTasks.java
@@ -110,8 +110,8 @@
         while ( i.hasNext() )
         {
             final EventHandlerProxy task = (EventHandlerProxy)i.next();
-            if ( !filterAsyncUnordered || task.isAsyncOrderedDelivery() )
-            {
+//            if ( !filterAsyncUnordered || task.isAsyncOrderedDelivery() )
+//            {
                 if ( !useTimeout(task) )
                 {
                     // no timeout, we can directly execute
@@ -168,7 +168,7 @@
                     }
 
                 }
-            }
+//            }
         }
     }
 }
