diff --git a/NEWS b/NEWS
index 22e05d6..14c297d 100644
--- a/NEWS
+++ b/NEWS
@@ -16,7 +16,7 @@
 The xmlSave API now has additional options to replace global settings.
 
 Parser options XML_PARSE_UNZIP, XML_PARSE_NO_SYS_CATALOG and
-XML_PARSE_NO_CATALOG_PI were added.
+XML_PARSE_CATALOG_PI were added.
 
 The serialization API will now take user-provided or default encodings
 into account when serializing attribute values, matching the
diff --git a/catalog.c b/catalog.c
index b1409a1..8aaa078 100644
--- a/catalog.c
+++ b/catalog.c
@@ -3420,7 +3420,7 @@
  * xmlCatalogGetDefaults:
  *
  * DEPRECATED: Use XML_PARSE_NO_SYS_CATALOG and
- * XML_PARSE_NO_CATALOG_PI.
+ * XML_PARSE_CATALOG_PI.
  *
  * Used to get the user preference w.r.t. to what catalogs should
  * be accepted
@@ -3437,7 +3437,7 @@
  * @allow:  what catalogs should be accepted
  *
  * DEPRECATED: Use XML_PARSE_NO_SYS_CATALOG and
- * XML_PARSE_NO_CATALOG_PI.
+ * XML_PARSE_CATALOG_PI.
  *
  * Used to set the user preference w.r.t. to what catalogs should
  * be accepted
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 0809029..3ca2ff5 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -1419,7 +1419,7 @@
     /* since 2.14.0 */
     XML_PARSE_UNZIP          = 1<<24,/* allow compressed content */
     XML_PARSE_NO_SYS_CATALOG = 1<<25,/* disable global system catalog */
-    XML_PARSE_NO_CATALOG_PI  = 1<<26 /* ignore catalog PIs */
+    XML_PARSE_CATALOG_PI     = 1<<26 /* allow catalog PIs */
 } xmlParserOption;
 
 XMLPUBFUN void
diff --git a/parser.c b/parser.c
index 30c00fc..5219998 100644
--- a/parser.c
+++ b/parser.c
@@ -5676,7 +5676,7 @@
 		    (xmlStrEqual(target, XML_CATALOG_PI))) {
 		    xmlCatalogAllow allow = xmlCatalogGetDefaults();
 
-		    if (((ctxt->options & XML_PARSE_NO_CATALOG_PI) == 0) &&
+		    if ((ctxt->options & XML_PARSE_CATALOG_PI) &&
                         ((allow == XML_CATA_ALLOW_DOCUMENT) ||
 			 (allow == XML_CATA_ALLOW_ALL)))
 			xmlParseCatalogPI(ctxt, buf);
@@ -13580,7 +13580,7 @@
               XML_PARSE_NO_XXE |
               XML_PARSE_UNZIP |
               XML_PARSE_NO_SYS_CATALOG |
-              XML_PARSE_NO_CATALOG_PI;
+              XML_PARSE_CATALOG_PI;
 
     ctxt->options = (ctxt->options & keepMask) | (options & allMask);
 
@@ -13788,9 +13788,9 @@
  *
  * Available since 2.14.0.
  *
- * XML_PARSE_NO_CATALOG_PI
+ * XML_PARSE_CATALOG_PI
  *
- * Ignore XML catalog processing instructions.
+ * Enable XML catalog processing instructions.
  *
  * Available since 2.14.0.
  *
