diff --git a/Lib/asyncio/sslproto.py b/Lib/asyncio/sslproto.py
index 3b1eb99..7948c4c 100644
--- a/Lib/asyncio/sslproto.py
+++ b/Lib/asyncio/sslproto.py
@@ -7,7 +7,6 @@
 
 from . import base_events
 from . import compat
-from . import futures
 from . import protocols
 from . import transports
 from .log import logger
@@ -413,7 +412,7 @@
 
     def __init__(self, loop, app_protocol, sslcontext, waiter,
                  server_side=False, server_hostname=None,
-                 call_connection_made=True, shutdown_timeout=5.0):
+                 call_connection_made=True):
         if ssl is None:
             raise RuntimeError('stdlib ssl module not available')
 
@@ -444,8 +443,6 @@
         self._session_established = False
         self._in_handshake = False
         self._in_shutdown = False
-        self._shutdown_timeout = shutdown_timeout
-        self._shutdown_timeout_handle = None
         # transport, ex: SelectorSocketTransport
         self._transport = None
         self._call_connection_made = call_connection_made
@@ -560,15 +557,6 @@
             self._in_shutdown = True
             self._write_appdata(b'')
 
-        if self._shutdown_timeout is not None:
-            self._shutdown_timeout_handle = self._loop.call_later(
-                self._shutdown_timeout, self._on_shutdown_timeout)
-
-    def _on_shutdown_timeout(self):
-        if self._transport is not None:
-            self._fatal_error(
-                futures.TimeoutError(), 'Can not complete shitdown operation')
-
     def _write_appdata(self, data):
         self._write_backlog.append((data, 0))
         self._write_buffer_size += len(data)
@@ -696,22 +684,12 @@
             })
         if self._transport:
             self._transport._force_close(exc)
-            self._transport = None
-
-        if self._shutdown_timeout_handle is not None:
-            self._shutdown_timeout_handle.cancel()
-            self._shutdown_timeout_handle = None
 
     def _finalize(self):
         self._sslpipe = None
 
         if self._transport is not None:
             self._transport.close()
-            self._transport = None
-
-        if self._shutdown_timeout_handle is not None:
-            self._shutdown_timeout_handle.cancel()
-            self._shutdown_timeout_handle = None
 
     def _abort(self):
         try:
