diff -ru a/gettext-tools/src/po-gram-gen.y b/gettext-tools/src/po-gram-gen.y
--- a/gettext-tools/src/po-gram-gen.y	2019-03-14 21:17:26.557259243 +0000
+++ b/gettext-tools/src/po-gram-gen.y	2019-03-14 21:56:21.336346494 +0000
@@ -221,15 +221,12 @@
                   check_obsolete ($1, $3);
                   check_obsolete ($1, $4);
                   if (!$1.obsolete || pass_obsolete_entries)
-                    {
-                      do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,
-                                           $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
-                                           $1.prev_ctxt,
-                                           $1.prev_id, $1.prev_id_plural,
-                                           $1.obsolete);
-                      free ($3.string);
-                    }
-                  else
+                     do_callback_message ($1.ctxt, string2, &$1.pos, $3.string,
+                                          $4.rhs.msgstr, $4.rhs.msgstr_len, &$4.pos,
+                                          $1.prev_ctxt,
+                                          $1.prev_id, $1.prev_id_plural,
+                                          $1.obsolete);
+		  else
                     {
                       free_message_intro ($1);
                       free (string2);
diff -ru a/gettext-tools/src/read-catalog.c b/gettext-tools/src/read-catalog.c
--- a/gettext-tools/src/read-catalog.c	2019-03-14 21:17:26.561259208 +0000
+++ b/gettext-tools/src/read-catalog.c	2019-03-14 21:59:36.147427473 +0000
@@ -397,6 +397,8 @@
          appropriate.  */
       mp = message_alloc (msgctxt, msgid, msgid_plural, msgstr, msgstr_len,
                           msgstr_pos);
+      if (msgid_plural != NULL)
+	free (msgid_plural);
       mp->prev_msgctxt = prev_msgctxt;
       mp->prev_msgid = prev_msgid;
       mp->prev_msgid_plural = prev_msgid_plural;
diff -ru a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am
--- a/gettext-tools/tests/Makefile.am	2019-03-14 21:17:26.609258796 +0000
+++ b/gettext-tools/tests/Makefile.am	2019-03-14 22:03:07.070434758 +0000
@@ -94,7 +94,7 @@
 	xgettext-perl-1 xgettext-perl-2 xgettext-perl-3 xgettext-perl-4 \
 	xgettext-perl-5 xgettext-perl-6 xgettext-perl-7 xgettext-perl-8 \
 	xgettext-php-1 xgettext-php-2 xgettext-php-3 xgettext-php-4 \
-	xgettext-po-1 \
+	xgettext-po-1 xgettext-po-2 \
 	xgettext-properties-1 \
 	xgettext-python-1 xgettext-python-2 xgettext-python-3 \
 	xgettext-python-4 \
Only in b/gettext-tools/tests: xgettext-po-2