diff --git a/ajax_select.php b/ajax_select.php
index 4ca1eaa1d..92c89e873 100644
--- a/ajax_select.php
+++ b/ajax_select.php
@@ -59,7 +59,7 @@ switch ($op) {
         if (Modules::get('Anagrafiche')['permessi'] != '-') {
             //$citta_cliente = ", IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))";
 
-            $query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale $citta_cliente) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
+            $query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale $citta_cliente) AS descrizione, idtipointervento_default, idzona FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
 
             foreach ($elements as $element) {
                 $filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
@@ -77,6 +77,7 @@ switch ($op) {
             }
 
             $custom['idtipointervento'] = 'idtipointervento_default';
+			$custom['idzona'] = 'idzona';
         }
 
         break;
@@ -189,7 +190,7 @@ switch ($op) {
 
     case 'sedi':
         if (Modules::get('Anagrafiche')['permessi'] != '-' && isset($superselect['idanagrafica'])) {
-            $query = "SELECT * FROM (SELECT 0 AS id, 'Sede legale' AS descrizione UNION SELECT id, CONCAT_WS(' - ', nomesede, citta) FROM an_sedi |where|) AS tab |filter| ORDER BY id";
+             $query = "SELECT * FROM (SELECT 0 AS id, 'Sede legale' AS descrizione,  (SELECT an_anagrafiche.idzona FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica = ".prepare($superselect['idanagrafica']).") AS idzona  UNION SELECT id, CONCAT_WS(' - ', nomesede, citta), idzona AS idzona FROM an_sedi |where|) AS tab |filter| ORDER BY id";
 
             foreach ($elements as $element) {
                 $filter[] = 'id='.prepare($element);
@@ -201,6 +202,8 @@ switch ($op) {
                 $search_fields[] = 'nomesede LIKE '.prepare('%'.$search.'%');
                 $search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
             }
+			
+			$custom['idzona'] = 'idzona';
         }
         break;
 
diff --git a/modules/interventi/add.php b/modules/interventi/add.php
index 65253801a..d0f4ba678 100644
--- a/modules/interventi/add.php
+++ b/modules/interventi/add.php
@@ -173,7 +173,7 @@ if (empty($new_codice)) {
 				</div>
 
 				<div class="col-md-4">
-					{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, nome AS descrizione FROM an_zone ORDER BY nome", "value": "<?php echo $idzona; ?>" ]}
+					{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "value": "<?php echo $idzona; ?>", "extra": "readonly" ]}
 				</div>
 			</div>
 
@@ -270,11 +270,34 @@ if (empty($new_codice)) {
 
 		$("#idimpianti").prop("disabled", value);
 		$("#idimpianti").selectReset();
+		
+		if (($(this).val())) {
+			if (($(this).selectData().idzona)){
+				$('#idzona').val($(this).selectData().idzona).change();
+	
+			}else{
+				$('#idzona').val('').change();
+			}
+			//session_set('superselect,idzona', $(this).selectData().idzona, 0);
+		}
+		
+		
 	});
 
 	$('#idsede').change( function(){
 		session_set('superselect,idsede', $(this).val(), 0);
 		$("#idimpianti").selectReset();
+		
+				
+		if (($(this).val())) {
+			if (($(this).selectData().idzona)){
+				$('#idzona').val($(this).selectData().idzona).change();
+			}else{
+				$('#idzona').val('').change();
+			}
+			//session_set('superselect,idzona', $(this).selectData().idzona, 0);
+		}
+		
 	});
 
 	$('#idpreventivo').change( function(){
diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php
index 4328ce300..d06fe55b1 100644
--- a/modules/interventi/edit.php
+++ b/modules/interventi/edit.php
@@ -128,6 +128,13 @@ if (empty($records[0]['firma_file'])) {
 				<div class="col-md-3">
 					{[ "type": "date", "label": "<?php echo tr('Data richiesta'); ?>", "name": "data_richiesta", "required": 1, "value": "$data_richiesta$" ]}
 				</div>
+				
+				<div class="col-md-3">
+					{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "value": "$idzona$" ,"extra": "readonly" ]}
+				</div>
+				
+				
+				
 			</div>
 
 
@@ -275,6 +282,17 @@ if (empty($records[0]['firma_file'])) {
 		$("#idsede").selectReset();
 		$("#idpreventivo").selectReset();
 		$("#idcontratto").selectReset();
+		
+		if (($(this).val())) {
+			if (($(this).selectData().idzona)){
+				$('#idzona').val($(this).selectData().idzona).change();
+	
+			}else{
+				$('#idzona').val('').change();
+			}
+			//session_set('superselect,idzona', $(this).selectData().idzona, 0);
+		}
+		
 	});
 
 	$('#idpreventivo').change( function(){
@@ -293,6 +311,19 @@ if (empty($records[0]['firma_file'])) {
 	$('#matricola').change( function(){
 		session_set('superselect,marticola', $(this).val(), 0);
 	});
+	
+	$('#idsede').change( function(){
+		if (($(this).val())) {
+			if (($(this).selectData().idzona)){
+				$('#idzona').val($(this).selectData().idzona).change();
+			}else{
+				$('#idzona').val('').change();
+			}
+			//session_set('superselect,idzona', $(this).selectData().idzona, 0);
+		}
+	});
+	
+	
 </script>
 
 
diff --git a/modules/interventi/init.php b/modules/interventi/init.php
index bd32a320f..da2e94d5f 100644
--- a/modules/interventi/init.php
+++ b/modules/interventi/init.php
@@ -3,7 +3,7 @@
 include_once __DIR__.'/../../core.php';
 
 if (isset($id_record)) {
-    $records = $dbo->fetchArray('SELECT *, (SELECT colore FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS colore, (SELECT idpreventivo FROM co_preventivi_interventi WHERE idintervento=in_interventi.id LIMIT 0,1) AS idpreventivo FROM in_interventi WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module));
+    $records = $dbo->fetchArray('SELECT *, IF((in_interventi.idsede = 0), (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = in_interventi.idanagrafica), (SELECT idzona FROM an_sedi WHERE id = in_interventi.idsede)) AS idzona, (SELECT colore FROM in_statiintervento WHERE idstatointervento=in_interventi.idstatointervento) AS colore, (SELECT idpreventivo FROM co_preventivi_interventi WHERE idintervento=in_interventi.id LIMIT 0,1) AS idpreventivo FROM in_interventi WHERE id='.prepare($id_record).Modules::getAdditionalsQuery($id_module));
 }
 
 $jscript_modules[] = $rootdir.'/modules/interventi/js/interventi_helperjs.js';