diff --git a/Lib/nntplib.py b/Lib/nntplib.py
index 1055d06..409342c 100644
--- a/Lib/nntplib.py
+++ b/Lib/nntplib.py
@@ -279,11 +279,12 @@
     encoding = 'utf-8'
     errors = 'surrogateescape'
 
-    def __init__(self, file, user=None, password=None,
+    def __init__(self, file, host, user=None, password=None,
                  readermode=None, usenetrc=True,
                  timeout=_GLOBAL_DEFAULT_TIMEOUT):
         """Initialize an instance.  Arguments:
         - file: file-like object (open for read/write in binary mode)
+        - host: hostname of the server (used if `usenetrc` is True)
         - user: username to authenticate with
         - password: password to use with username
         - readermode: if true, send 'mode reader' command after
@@ -933,7 +934,7 @@
         self.port = port
         self.sock = socket.create_connection((host, port), timeout)
         file = self.sock.makefile("rwb")
-        _NNTPBase.__init__(self, file, user, password,
+        _NNTPBase.__init__(self, file, host, user, password,
                            readermode, usenetrc, timeout)
 
     def _close(self):
diff --git a/Lib/test/test_nntplib.py b/Lib/test/test_nntplib.py
index 85334bb..dd100ef 100644
--- a/Lib/test/test_nntplib.py
+++ b/Lib/test/test_nntplib.py
@@ -12,6 +12,7 @@
 # TODO:
 # - test the `file` arg to more commands
 # - test error conditions
+# - test auth and `usenetrc`
 
 
 class NetworkedNNTPTestsMixin:
@@ -255,7 +256,7 @@
         # isn't seekable.
         file = io.BufferedRWPair(self.sio, self.sio)
         kwargs.setdefault('usenetrc', False)
-        self.server = nntplib._NNTPBase(file, *args, **kwargs)
+        self.server = nntplib._NNTPBase(file, 'test.server', *args, **kwargs)
         return self.server
 
 
