diff --git a/CHANGES.rst b/CHANGES.rst
index 70db4639d45f92a18762503746c17a3e39de13e3..f55155226d8ca92fdaa316c4dc903058368ce489 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -2,6 +2,16 @@ Kuha OAI-PMH Repo Handler Changelog
 ===================================
 
 
+1.0.1 (2022-06-09)
+------------------
+
+Fixed
+^^^^^
+
+* Render subject in oai_dc metadata regardless if the study.keyword
+  has a value. (Fixes `#31`_)
+
+
 1.0.0 (2022-03-16)
 ------------------
 
diff --git a/VERSION b/VERSION
index 3eefcb9dd5b38e2c1dc061052455dd97bcd51e6c..7dea76edb3dc51b6e5e8223e9f941a35c1e364d6 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.0
+1.0.1
diff --git a/kuha_oai_pmh_repo_handler/templates/oai_dc.xml b/kuha_oai_pmh_repo_handler/templates/oai_dc.xml
index 79258a06e7d6577cfed4567389532784c482889b..c38aa8cc42bda67a3668feaa4089da1adc0d5a34 100644
--- a/kuha_oai_pmh_repo_handler/templates/oai_dc.xml
+++ b/kuha_oai_pmh_repo_handler/templates/oai_dc.xml
@@ -23,7 +23,6 @@
                   xml:lang="${abstr.get_language()}">${abstr.get_value()}</dc:description>
 
   <dc:subject py:for="keyword in study.keywords"
-              py:if="keyword.get_value()"
               py:with="subject_value = keyword.attr_description.get_value() if keyword.attr_description.get_value() else keyword.get_value()"
               xml:lang="${keyword.get_language()}">${subject_value}</dc:subject>
 
diff --git a/tests/integration/test_metadata_responses.py b/tests/integration/test_metadata_responses.py
index 45464b060f13e62c4dde4cb92d710b69591d3c5f..2bed88733c7b0c1970461cab84a7a163cd23af30 100644
--- a/tests/integration/test_metadata_responses.py
+++ b/tests/integration/test_metadata_responses.py
@@ -575,6 +575,20 @@ class TestGetRecordOAIDCResponses(OAIRequestsTestBase):
             el_text = ''.join(rights_el.itertext())
             self.assertEqual(expected[el_lang], el_text)
 
+    def test_contains_subject_description_when_keyword_has_no_value(self):
+        """Test fix for #31 at BB"""
+        self.return_record.add_keywords(None, 'fi', description='joku kuvaus')
+        self.return_record.add_keywords(None, 'en', description='some description')
+        expected = {'fi': 'joku kuvaus',
+                    'en': 'some description'}
+        self._request()
+        subject_els = self._dc_root.findall('oai_dc:dc/dc:subject', self._xmlns)
+        self.assertEqual(len(subject_els), 2)
+        for subject_el in subject_els:
+            el_lang = subject_el.attrib.get('{%s}lang' % (self._xmlns['xml'],))
+            el_text = ''.join(subject_el.itertext())
+            self.assertEqual(expected[el_lang], el_text)
+
 
 # ead3 metadataprefix