diff --git a/dill/_dill.py b/dill/_dill.py
index aec297c4..9a57637e 100644
--- dill/_dill.py.orig
+++ dill/_dill.py
@@ -54,6 +54,7 @@
 import builtins as __builtin__
 from pickle import _Pickler as StockPickler, Unpickler as StockUnpickler
 from pickle import GLOBAL, POP
+from _contextvars import Context as ContextType
 from _thread import LockType
 from _thread import RLock as RLockType
 try:
@@ -2119,6 +2120,12 @@ def save_capsule(pickler, obj):
 else:
     _testcapsule = None

+@register(ContextType)
+def save_context(pickler, obj):
+    logger.trace(pickler, "Cx: %s", obj)
+    pickler.save_reduce(ContextType, tuple(obj.items()), obj=obj)
+    logger.trace(pickler, "# Cx")
+

 #############################
 # A quick fix for issue #500
