diff --git a/src/pycalphad_xml/CEF.rng b/src/pycalphad_xml/CEF.rng
index 412d474..590051e 100644
--- a/src/pycalphad_xml/CEF.rng
+++ b/src/pycalphad_xml/CEF.rng
@@ -105,6 +105,17 @@
+
+
+ Specification of sublattice symmetry.
+
+
+ FCC_4SL
+ BCC_4SL
+
+
+
+
diff --git a/src/pycalphad_xml/parser.py b/src/pycalphad_xml/parser.py
index b51f6ae..ca9dae5 100644
--- a/src/pycalphad_xml/parser.py
+++ b/src/pycalphad_xml/parser.py
@@ -1,4 +1,4 @@
-from pycalphad.io.tdb import _sympify_string, _process_reference_state, to_interval
+from pycalphad.io.tdb import _sympify_string, _process_reference_state, _symmetry_added_parameter, to_interval
from pycalphad import variables as v
from pycalphad import __version__ as pycalphad_version
from symengine import Piecewise, And, Symbol, S
@@ -360,6 +360,7 @@ def write_xml(dbf, fd, require_valid=True):
if ('symmetry_BCC_4SL' in model_hints.keys()):
if symmetry_node is not None:
raise ValueError('Multiple parameter symmetry options specified')
+ symmetry_node = objectify.SubElement(model_node, "Symmetry", type="BCC_4SL")
del model_hints['symmetry_BCC_4SL']
# ChemicalGroups
if "chemical_groups" in model_hints:
@@ -376,6 +377,8 @@ def write_xml(dbf, fd, require_valid=True):
raise ValueError('Not all model hints are supported: {}'.format(model_hints))
for param in dbf._parameters.all():
+ if _symmetry_added_parameter(dbf, param):
+ continue
phase_name = param['phase_name']
# Create phase implicitly if not defined
if phase_nodes.get(phase_name, None) is None: