diff --git a/Lib/test/test_genericalias.py b/Lib/test/test_genericalias.py
index 4f3798e..1f24469 100644
--- a/Lib/test/test_genericalias.py
+++ b/Lib/test/test_genericalias.py
@@ -13,7 +13,10 @@
 from dataclasses import Field
 from functools import partial, partialmethod, cached_property
 from mailbox import Mailbox, _PartialFile
-from ctypes import Array, LibraryLoader
+try:
+    import ctypes
+except ImportError:
+    ctypes = None
 from difflib import SequenceMatcher
 from filecmp import dircmp
 from fileinput import FileInput
@@ -46,43 +49,44 @@
     """Test basics."""
 
     def test_subscriptable(self):
-        for t in (type, tuple, list, dict, set, frozenset, enumerate,
-                  defaultdict, deque,
-                  SequenceMatcher,
-                  dircmp,
-                  FileInput,
-                  OrderedDict, Counter, UserDict, UserList,
-                  Pattern, Match,
-                  partial, partialmethod, cached_property,
-                  AbstractContextManager, AbstractAsyncContextManager,
-                  Awaitable, Coroutine,
-                  AsyncIterable, AsyncIterator,
-                  AsyncGenerator, Generator,
-                  Iterable, Iterator,
-                  Reversible,
-                  Container, Collection,
-                  Callable,
-                  Mailbox, _PartialFile,
-                  ContextVar, Token,
-                  Field,
-                  Set, MutableSet,
-                  Mapping, MutableMapping, MappingView,
-                  KeysView, ItemsView, ValuesView,
-                  Sequence, MutableSequence,
-                  MappingProxyType, AsyncGeneratorType,
-                  DirEntry,
-                  chain,
-                  TemporaryDirectory, SpooledTemporaryFile,
-                  Queue, SimpleQueue,
-                  _AssertRaisesContext,
-                  Array, LibraryLoader,
-                  SplitResult, ParseResult,
-                  ValueProxy, ApplyResult,
-                  WeakSet, ReferenceType, ref,
-                  ShareableList, SimpleQueue,
-                  Future, _WorkItem,
-                  Morsel,
-                  ):
+        types = [type, tuple, list, dict, set, frozenset, enumerate,
+                 defaultdict, deque,
+                 SequenceMatcher,
+                 dircmp,
+                 FileInput,
+                 OrderedDict, Counter, UserDict, UserList,
+                 Pattern, Match,
+                 partial, partialmethod, cached_property,
+                 AbstractContextManager, AbstractAsyncContextManager,
+                 Awaitable, Coroutine,
+                 AsyncIterable, AsyncIterator,
+                 AsyncGenerator, Generator,
+                 Iterable, Iterator,
+                 Reversible,
+                 Container, Collection,
+                 Callable,
+                 Mailbox, _PartialFile,
+                 ContextVar, Token,
+                 Field,
+                 Set, MutableSet,
+                 Mapping, MutableMapping, MappingView,
+                 KeysView, ItemsView, ValuesView,
+                 Sequence, MutableSequence,
+                 MappingProxyType, AsyncGeneratorType,
+                 DirEntry,
+                 chain,
+                 TemporaryDirectory, SpooledTemporaryFile,
+                 Queue, SimpleQueue,
+                 _AssertRaisesContext,
+                 SplitResult, ParseResult,
+                 ValueProxy, ApplyResult,
+                 WeakSet, ReferenceType, ref,
+                 ShareableList, SimpleQueue,
+                 Future, _WorkItem,
+                 Morsel]
+        if ctypes is not None:
+            types.extend((ctypes.Array, ctypes.LibraryLoader))
+        for t in types:
             if t is None:
                 continue
             tname = t.__name__
diff --git a/Misc/NEWS.d/next/Tests/2020-08-07-17-28-49.bpo-41477.GrFexU.rst b/Misc/NEWS.d/next/Tests/2020-08-07-17-28-49.bpo-41477.GrFexU.rst
new file mode 100644
index 0000000..bf0f54a
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2020-08-07-17-28-49.bpo-41477.GrFexU.rst
@@ -0,0 +1 @@
+Make ctypes optional in test_genericalias.
