diff --git a/Lib/ssl.py b/Lib/ssl.py
index 5e5a5ce..6ff5c53 100644
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -574,10 +574,6 @@
             return None
         return self._sslobj.tls_unique_cb()
 
-    def __del__(self):
-        # sys.stderr.write("__del__ on %s\n" % repr(self))
-        self._real_close()
-
 
 def wrap_socket(sock, keyfile=None, certfile=None,
                 server_side=False, cert_reqs=CERT_NONE,
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 0a6af5e..2f63eaa 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -374,6 +374,14 @@
         ss = ssl.wrap_socket(s, server_side=True, certfile=CERTFILE)
         self.assertIsNone(ss.get_channel_binding("tls-unique"))
 
+    def test_dealloc_warn(self):
+        ss = ssl.wrap_socket(socket.socket(socket.AF_INET))
+        r = repr(ss)
+        with self.assertWarns(ResourceWarning) as cm:
+            ss = None
+            support.gc_collect()
+        self.assertIn(r, str(cm.warning.args[0]))
+
 class ContextTests(unittest.TestCase):
 
     @skip_if_broken_ubuntu_ssl
diff --git a/Misc/NEWS b/Misc/NEWS
index f0b569c..1ed665a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -142,6 +142,8 @@
 Library
 -------
 
+- Issue #16900: Issue a ResourceWarning when an ssl socket is left unclosed.
+
 - Issue #15545: Fix regression in sqlite3's iterdump method where it was
   failing if the connection used a row factory (such as sqlite3.Row) that
   produced unsortable objects. (Regression was introduced by fix for 9750).
