diff --git a/hescorehpxml/__init__.py b/hescorehpxml/__init__.py
index 306fcba0..b178e9fc 100644
--- a/hescorehpxml/__init__.py
+++ b/hescorehpxml/__init__.py
@@ -236,7 +236,7 @@ class HPXMLtoHEScoreTranslator(object):
                 if glass_layers in ('double-pane', 'single-paned with storms', 'single-paned with low-e storms'):
                     if glass_layers == 'double-pane' and glass_type == 'low-e' and gas_fill == 'argon':
                         window_code = 'dpeaab'
-                    elif glass_type is not None and glass_type == 'reflective':
+                    elif glass_type is not None and glass_type in ('reflective', 'low-e'):
                         # TODO: figure out if 'reflective' is close enough to 'solar-control' low-e
                         window_code = 'dseab'
                     elif glass_type is not None and glass_type.startswith('tinted'):
@@ -251,7 +251,7 @@ class HPXMLtoHEScoreTranslator(object):
                     else:
                         window_code = 'scna'
                 elif glass_layers in ('double-pane', 'single-paned with storms', 'single-paned with low-e storms'):
-                    if glass_type is not None and glass_type in ('reflective', 'tinted/reflective'):
+                    if glass_type is not None and glass_type in ('reflective', 'tinted/reflective', 'low-e'):
                         window_code = 'dseaa'
                     elif glass_type is not None and glass_type == 'tinted':
                         window_code = 'dtaa'

diff --git a/tests/tests.py b/tests/tests.py
index ccc81832..86a1f68b 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -6,7 +6,7 @@ from builtins import object
 import os
 import unittest
 import datetime as dt
-from lxml import etree
+from lxml import etree, objectify
 from hescorehpxml import HPXMLtoHEScoreTranslator, TranslationError, InputOutOfBounds
 import io
 import json
@@ -61,6 +61,15 @@ class ComparatorBase(object):
     def xpath(self, xpathexpr, *args, **kwargs):
         return self.translator.xpath(self.translator.hpxmldoc, xpathexpr, *args, **kwargs)
 
+    @property
+    def E(self):
+        E = objectify.ElementMaker(
+            annotate=False,
+            namespace=self.translator.ns['h'],
+            nsmap=self.translator.ns
+        )
+        return E
+
 
 class TestAPIHouses(unittest.TestCase, ComparatorBase):
     def test_house1(self):
@@ -1997,6 +2006,40 @@ class TestHEScore2019Updates(unittest.TestCase, ComparatorBase):
         roof_type = d['building']['zone']['zone_roof'][0]['roof_type']
         self.assertEqual(roof_type, 'vented_attic')
 
+    def test_window_code_mappings_aluminum(self):
+        tr = self._load_xmlfile('hescore_min')
+
+        window2_frametype = self.xpath('//h:Window[h:SystemIdentifier/@id="window2"]/h:FrameType')
+        window2_frametype.clear()
+        window2_frametype.append(self.E.Aluminum())
+        window2_frametype.getparent().append(self.E.GlassType('low-e'))
+
+        window3_frametype = self.xpath('//h:Window[h:SystemIdentifier/@id="window3"]/h:FrameType')
+        window3_frametype.clear()
+        window3_frametype.append(self.E.Aluminum(self.E.ThermalBreak(True)))
+
+        window4_frametype = self.xpath('//h:Window[h:SystemIdentifier/@id="window4"]/h:FrameType')
+        window4_frametype.clear()
+        window4_frametype.append(self.E.Aluminum(self.E.ThermalBreak(True)))
+        window4_frametype.getparent().append(self.E.GlassType('low-e'))
+
+        d = tr.hpxml_to_hescore_dict()
+        walls = {}
+        for wall in d['building']['zone']['zone_wall']:
+            walls[wall['side']] = wall
+        self.assertEqual(
+            walls['left']['zone_window']['window_code'],
+            'dseaa'
+        )
+        self.assertEqual(
+            walls['back']['zone_window']['window_code'],
+            'dcab'
+        )
+        self.assertEqual(
+            walls['right']['zone_window']['window_code'],
+            'dseab'
+        )
+
 
 if __name__ == "__main__":
     unittest.main()

Window code mapping changes
 - Aluminum, double pane, low-e is currently mapping to `dcaa`.
 - Aluminum, thermal break is currently mapping to `dcab`

@lirainer What should these be mapping to?
tests/tests.py::TestHEScore2019Updates::test_window_code_mappings_aluminum
tests/tests.py::TestAPIHouses::test_house1 tests/tests.py::TestAPIHouses::test_house1_v1_1 tests/tests.py::TestAPIHouses::test_house1_v2 tests/tests.py::TestAPIHouses::test_house1_v2_1 tests/tests.py::TestAPIHouses::test_house2 tests/tests.py::TestAPIHouses::test_house3 tests/tests.py::TestAPIHouses::test_house4 tests/tests.py::TestAPIHouses::test_house5 tests/tests.py::TestAPIHouses::test_house6 tests/tests.py::TestAPIHouses::test_house7 tests/tests.py::TestAPIHouses::test_house8 tests/tests.py::TestOtherHouses::test_air_source_heat_pump_has_no_ducts tests/tests.py::TestOtherHouses::test_attic_knee_wall tests/tests.py::TestOtherHouses::test_attic_roof_assoc tests/tests.py::TestOtherHouses::test_bad_duct_location tests/tests.py::TestOtherHouses::test_bldgid_not_found tests/tests.py::TestOtherHouses::test_clg_sys_has_air_dist tests/tests.py::TestOtherHouses::test_cooling_system_wrong_efficiency_type tests/tests.py::TestOtherHouses::test_dist_sys_idref tests/tests.py::TestOtherHouses::test_evap_cooling_system_type tests/tests.py::TestOtherHouses::test_external_id_extension_passthru tests/tests.py::TestOtherHouses::test_external_id_passthru tests/tests.py::TestOtherHouses::test_extra_roof_sheathing_insulation tests/tests.py::TestOtherHouses::test_extra_wall_sheathing_insulation tests/tests.py::TestOtherHouses::test_floor_no_area tests/tests.py::TestOtherHouses::test_foundation_walls_on_slab tests/tests.py::TestOtherHouses::test_heating_system_no_efficiency tests/tests.py::TestOtherHouses::test_heating_system_wrong_efficiency_type tests/tests.py::TestOtherHouses::test_heatpump_no_cooling tests/tests.py::TestOtherHouses::test_heatpump_no_heating tests/tests.py::TestOtherHouses::test_hescore_min tests/tests.py::TestOtherHouses::test_htg_sys_has_air_dist tests/tests.py::TestOtherHouses::test_hvac_fractions_sum_to_one tests/tests.py::TestOtherHouses::test_impossible_cooling_system_type tests/tests.py::TestOtherHouses::test_impossible_heating_system_type tests/tests.py::TestOtherHouses::test_impossible_triple_pane_window tests/tests.py::TestOtherHouses::test_impossible_window tests/tests.py::TestOtherHouses::test_indirect_dhw_error tests/tests.py::TestOtherHouses::test_invalid_attic_type tests/tests.py::TestOtherHouses::test_invalid_residential_faciliy_type tests/tests.py::TestOtherHouses::test_invalid_roof_type tests/tests.py::TestOtherHouses::test_invalid_surroundings tests/tests.py::TestOtherHouses::test_log_wall_fail tests/tests.py::TestOtherHouses::test_mentor_extension tests/tests.py::TestOtherHouses::test_missing_attached_to_roof tests/tests.py::TestOtherHouses::test_missing_cooling_system tests/tests.py::TestOtherHouses::test_missing_cooling_weighting_factor tests/tests.py::TestOtherHouses::test_missing_heating_system tests/tests.py::TestOtherHouses::test_missing_heating_weighting_factor tests/tests.py::TestOtherHouses::test_missing_residential_facility_type tests/tests.py::TestOtherHouses::test_missing_roof_color tests/tests.py::TestOtherHouses::test_missing_roof_type tests/tests.py::TestOtherHouses::test_missing_siding tests/tests.py::TestOtherHouses::test_missing_skylight_area tests/tests.py::TestOtherHouses::test_missing_surroundings tests/tests.py::TestOtherHouses::test_missing_water_heater tests/tests.py::TestOtherHouses::test_missing_window_area tests/tests.py::TestOtherHouses::test_missing_window_orientation tests/tests.py::TestOtherHouses::test_only_duct_system_per_heating_sys tests/tests.py::TestOtherHouses::test_ove_low_r tests/tests.py::TestOtherHouses::test_preconstruction_event_type tests/tests.py::TestOtherHouses::test_siding_cmu_fail tests/tests.py::TestOtherHouses::test_siding_fail2 tests/tests.py::TestOtherHouses::test_tankless_coil_dhw_error tests/tests.py::TestOtherHouses::test_too_many_duct_systems tests/tests.py::TestOtherHouses::test_townhouse_walls tests/tests.py::TestOtherHouses::test_townhouse_walls_all_same tests/tests.py::TestOtherHouses::test_townhouse_walls_conflict tests/tests.py::TestOtherHouses::test_townhouse_window_fail tests/tests.py::TestOtherHouses::test_townhouse_window_wall_all_same_fail tests/tests.py::TestOtherHouses::test_townhouse_windows_area_wrong tests/tests.py::TestOtherHouses::test_wall_construction_ps_low_r tests/tests.py::TestOtherHouses::test_wall_insulation_layer_missing_rvalue tests/tests.py::TestOtherHouses::test_wall_same_area_same_side_different_construction tests/tests.py::TestOtherHouses::test_window_area_sum_on_angled_front_door tests/tests.py::TestOtherHouses::test_window_attached_to_wall tests/tests.py::TestOtherHouses::test_wood_stove tests/tests.py::TestOtherHouses::test_wood_stove_invalid_fuel_type tests/tests.py::TestOtherHouses::test_zipcode_missing tests/tests.py::TestInputOutOfBounds::test_assessment_date1 tests/tests.py::TestInputOutOfBounds::test_assessment_date2 tests/tests.py::TestInputOutOfBounds::test_conditioned_floor_area1 tests/tests.py::TestInputOutOfBounds::test_conditioned_floor_area2 tests/tests.py::TestInputOutOfBounds::test_cooling_efficiency tests/tests.py::TestInputOutOfBounds::test_cooling_year tests/tests.py::TestInputOutOfBounds::test_dhw_heat_pump_efficiency tests/tests.py::TestInputOutOfBounds::test_dhw_storage_efficiency tests/tests.py::TestInputOutOfBounds::test_dhw_year tests/tests.py::TestInputOutOfBounds::test_envelope_leakage tests/tests.py::TestInputOutOfBounds::test_evap_cooler_missing_efficiency tests/tests.py::TestInputOutOfBounds::test_floor_to_ceiling_height1 tests/tests.py::TestInputOutOfBounds::test_floor_to_ceiling_height2 tests/tests.py::TestInputOutOfBounds::test_heating_efficiency_furnace tests/tests.py::TestInputOutOfBounds::test_heating_efficiency_gchp tests/tests.py::TestInputOutOfBounds::test_heating_efficiency_heat_pump tests/tests.py::TestInputOutOfBounds::test_heating_year tests/tests.py::TestInputOutOfBounds::test_num_floor_above_grade tests/tests.py::TestInputOutOfBounds::test_skylight_area tests/tests.py::TestInputOutOfBounds::test_skylight_u_value tests/tests.py::TestInputOutOfBounds::test_window_area tests/tests.py::TestInputOutOfBounds::test_window_u_value tests/tests.py::TestInputOutOfBounds::test_year_built1 tests/tests.py::TestInputOutOfBounds::test_year_built2 tests/tests.py::TestHVACFractions::test_allow_5pct_diff tests/tests.py::TestHVACFractions::test_boiler_roomac tests/tests.py::TestHVACFractions::test_furnace_baseboard_centralac tests/tests.py::TestHVACFractions::test_furnace_heat_pump tests/tests.py::TestHVACFractions::test_wall_furnace_baseboard_centralac tests/tests.py::TestPhotovoltaics::test_azimuth_orientation_missing tests/tests.py::TestPhotovoltaics::test_capacity_missing tests/tests.py::TestPhotovoltaics::test_collector_area tests/tests.py::TestPhotovoltaics::test_orientation tests/tests.py::TestPhotovoltaics::test_pv tests/tests.py::TestPhotovoltaics::test_two_sys_avg tests/tests.py::TestPhotovoltaics::test_two_sys_different_capacity_error tests/tests.py::TestPhotovoltaics::test_years_missing tests/tests.py::TesHPXMLVersion2Point3::test_floor_furnace tests/tests.py::TesHPXMLVersion2Point3::test_medium_dark_roof_color tests/tests.py::TesHPXMLVersion2Point3::test_roof_absorptance tests/tests.py::TestHEScore2019Updates::test_bldg_about_comment tests/tests.py::TestHEScore2019Updates::test_conditioned_attic tests/tests.py::TestHEScore2019Updates::test_duct_location_validation tests/tests.py::TestHEScore2019Updates::test_hvac_combinations tests/tests.py::TestHEScore2019Updates::test_skylight_solar_screens_exteriorshading tests/tests.py::TestHEScore2019Updates::test_skylight_solar_screens_treatments tests/tests.py::TestHEScore2019Updates::test_tankless tests/tests.py::TestHEScore2019Updates::test_tankless_energyfactorerror tests/tests.py::TestHEScore2019Updates::test_uef_over_ef tests/tests.py::TestHEScore2019Updates::test_uef_with_tankless tests/tests.py::TestHEScore2019Updates::test_window_solar_screens