diff --git a/CRM/Core/CodeGen/Specification.php b/CRM/Core/CodeGen/Specification.php
index 17bfc45a5571..27468db76854 100644
--- a/CRM/Core/CodeGen/Specification.php
+++ b/CRM/Core/CodeGen/Specification.php
@@ -383,6 +383,7 @@ public function getField(&$fieldXML, &$fields) {
'type',
'formatType',
'label',
+ 'controlField',
/* Fixme: prior to CRM-13497 these were in a flat structure
// CRM-13497 moved them to be nested within 'html' but there's no point
// making that change in the DAOs right now since we are in the process of
diff --git a/CRM/Core/DAO/Address.php b/CRM/Core/DAO/Address.php
index 8afdc271b8ff..7eebf319884c 100644
--- a/CRM/Core/DAO/Address.php
+++ b/CRM/Core/DAO/Address.php
@@ -6,7 +6,7 @@
*
* Generated from xml/schema/CRM/Core/Address.xml
* DO NOT EDIT. Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4e3b66ed828527539c525b2ffc71e606)
+ * (GenCodeChecksum:ec9f95b3b9d7cb430a52e5b367d735fc)
*/
/**
@@ -568,6 +568,7 @@ public static function &fields() {
'FKClassName' => 'CRM_Core_DAO_County',
'html' => [
'type' => 'ChainSelect',
+ 'controlField' => 'state_province_id',
],
'pseudoconstant' => [
'table' => 'civicrm_county',
@@ -589,6 +590,7 @@ public static function &fields() {
'FKClassName' => 'CRM_Core_DAO_StateProvince',
'html' => [
'type' => 'ChainSelect',
+ 'controlField' => 'country_id',
],
'pseudoconstant' => [
'table' => 'civicrm_state_province',
diff --git a/xml/schema/Core/Address.xml b/xml/schema/Core/Address.xml
index 183a1af5b09a..97ea97b3753a 100644
--- a/xml/schema/Core/Address.xml
+++ b/xml/schema/Core/Address.xml
@@ -259,6 +259,7 @@
ChainSelect
+ state_province_id
1.1
@@ -285,6 +286,7 @@
province
ChainSelect
+ country_id
1.1