diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 6aaf10c..d10defb 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -264,6 +264,11 @@
    +------------------------------+------------------------------------------+
    | :const:`bytes_warning`       | -b                                       |
    +------------------------------+------------------------------------------+
+   | :const:`quiet`               | -q                                       |
+   +------------------------------+------------------------------------------+
+
+   .. versionchanged:: 3.2
+      Added ``quiet`` attribute for the new :option:`-q` flag.
 
 
 .. data:: float_info
diff --git a/Include/pydebug.h b/Include/pydebug.h
index 1cbb342..70c88f6 100644
--- a/Include/pydebug.h
+++ b/Include/pydebug.h
@@ -7,6 +7,7 @@
 
 PyAPI_DATA(int) Py_DebugFlag;
 PyAPI_DATA(int) Py_VerboseFlag;
+PyAPI_DATA(int) Py_QuietFlag;
 PyAPI_DATA(int) Py_InteractiveFlag;
 PyAPI_DATA(int) Py_InspectFlag;
 PyAPI_DATA(int) Py_OptimizeFlag;
diff --git a/Misc/NEWS b/Misc/NEWS
index 674ae64..f69abcf 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -15,6 +15,8 @@
 - Issue #10779: PyErr_WarnExplicit() decodes the filename from the filesystem
   encoding instead of UTF-8.
 
+- Add sys.flags attribute for the new -q command-line option.
+
 Library
 -------
 
diff --git a/Modules/main.c b/Modules/main.c
index 3803eee..93d093d 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -319,7 +319,6 @@
     int stdin_is_interactive = 0;
     int help = 0;
     int version = 0;
-    int quiet = 0;
     int saw_unbuffered_flag = 0;
     PyCompilerFlags cf;
 
@@ -427,7 +426,7 @@
             break;
 
         case 'q':
-            quiet++;
+            Py_QuietFlag++;
             break;
 
         /* This space reserved for other options */
@@ -594,7 +593,7 @@
 #endif
     Py_Initialize();
 
-    if (!quiet && (Py_VerboseFlag ||
+    if (!Py_QuietFlag && (Py_VerboseFlag ||
                         (command == NULL && filename == NULL &&
                          module == NULL && stdin_is_interactive))) {
         fprintf(stderr, "Python %s on %s\n",
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index f7335a2..e3836b8 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -78,6 +78,7 @@
 
 int Py_DebugFlag; /* Needed by parser.c */
 int Py_VerboseFlag; /* Needed by import.c */
+int Py_QuietFlag; /* Needed by sysmodule.c */
 int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
 int Py_InspectFlag; /* Needed to determine whether to exit at SystemError */
 int Py_NoSiteFlag; /* Suppress 'import site' */
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 0a14f0e..730567e 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1417,7 +1417,8 @@
 #endif
     /* {"unbuffered",                   "-u"}, */
     /* {"skip_first",                   "-x"}, */
-    {"bytes_warning", "-b"},
+    {"bytes_warning",           "-b"},
+    {"quiet",                   "-q"},
     {0}
 };
 
@@ -1461,6 +1462,7 @@
     /* SetFlag(saw_unbuffered_flag); */
     /* SetFlag(skipfirstline); */
     SetFlag(Py_BytesWarningFlag);
+    SetFlag(Py_QuietFlag);
 #undef SetFlag
 
     if (PyErr_Occurred()) {
