diff --git a/README b/README
index fc0286a2a220f97f92f6448da6bee5e0e553c979..8ab152e1c84469dd5c64a05b69b6c1171c85301b 100644
--- a/README
+++ b/README
@@ -141,6 +141,11 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 Change history
 --------------
 
+Version 2.12g (09/03/2014)
+- Minor fix to function generateToEtreeChildren.  Must generate
+  call to get_valueOf only when defined (i.e. when element is
+  simpleContent or isMixed).
+
 Version 2.12f (08/12/2014)
 - Fix for substitutionGroup conflict with keyword name mapping.
   Thanks to Leonid Minchin for finding and helping with this
diff --git a/generateDS.py b/generateDS.py
index 4c94c9a2aa62013ddd87d1353de06a4a214350e6..ba951c5f269e441b475d58fd508eb9803519a030 100755
--- a/generateDS.py
+++ b/generateDS.py
@@ -2319,8 +2319,9 @@ def generateToEtreeChildren(wrt, element, Targetnamespace):
                             "mapping_=mapping_)\n" % (
                                 name, unmappedName,))
     else:
-        wrt("        if self.hasContent_():\n")
-        wrt("            element.text = self.gds_format_string(self.get_valueOf_())\n")
+        if element.getSimpleContent() or element.isMixed():
+            wrt("        if self.hasContent_():\n")
+            wrt("            element.text = self.gds_format_string(self.get_valueOf_())\n")
 #end generateToEtreeChildren
 
 
diff --git a/tests/to_etree1_sup.py b/tests/to_etree1_sup.py
index 3fc3ea640a14f8b906cc3308c82df3c50fd1af5f..75d42db49061beaa9285a6c6a89d4e2dcc4a6fd4 100644
--- a/tests/to_etree1_sup.py
+++ b/tests/to_etree1_sup.py
@@ -1557,6 +1557,8 @@ class paramType(GeneratedsSuper):
             element.set('type', self.gds_format_string(self.type_))
         if self.id is not None:
             element.set('id', self.gds_format_string(self.id))
+        if self.hasContent_():
+            element.text = self.gds_format_string(self.get_valueOf_())
         if mapping_ is not None:
             mapping_[self] = element
         return element
diff --git a/tests/to_etree2_sup.py b/tests/to_etree2_sup.py
index 3fc3ea640a14f8b906cc3308c82df3c50fd1af5f..75d42db49061beaa9285a6c6a89d4e2dcc4a6fd4 100644
--- a/tests/to_etree2_sup.py
+++ b/tests/to_etree2_sup.py
@@ -1557,6 +1557,8 @@ class paramType(GeneratedsSuper):
             element.set('type', self.gds_format_string(self.type_))
         if self.id is not None:
             element.set('id', self.gds_format_string(self.id))
+        if self.hasContent_():
+            element.text = self.gds_format_string(self.get_valueOf_())
         if mapping_ is not None:
             mapping_[self] = element
         return element