diff --git a/pulsar/apps/wsgi/server.py b/pulsar/apps/wsgi/server.py
index <HASH>..<HASH> 100644
--- a/pulsar/apps/wsgi/server.py
+++ b/pulsar/apps/wsgi/server.py
@@ -20,7 +20,7 @@ from wsgiref.handlers import format_date_time
 
 import pulsar
 from pulsar import (reraise, HttpException, ProtocolError, Future, task,
-                    From, chain_future)
+                    From, isfuture, chain_future)
 from pulsar.utils.pep import is_string, native_str
 from pulsar.utils.httpurl import (Headers, unquote, has_empty_content,
                                   host_and_port_default, http_parser,
@@ -465,7 +465,7 @@ class HttpServerResponse(ProtocolConsumer):
                 else:
                     response = handle_wsgi_error(environ, exc_info)
                 #
-                if isinstance(response, Future):
+                if isfuture(response):
                     response = yield From(response)
                 #
                 if exc_info:
@@ -476,11 +476,11 @@ class HttpServerResponse(ProtocolConsumer):
                 loop = self._loop
                 start = loop.time()
                 for chunk in response:
-                    if isinstance(chunk, Future):
+                    if isfuture(chunk):
                         chunk = yield From(chunk)
                         start = loop.time()
                     result = self.write(chunk)
-                    if isinstance(result, Future):
+                    if isfuture(result):
                         yield From(result)
                         start = loop.time()
                     else:
Accept asyncio futures in wsgi server

by using isfuture implementations of the Future class from both trollius
and asyncio is supported