diff --git a/python_src/SAR_MultiSlc.py b/python_src/SAR_MultiSlc.py
index a49a73415078b1d17b2e1bfb624114c98cd27ee4..1a0a27114f83cd2867130498fe2e9f5a96ec60e1 100644
--- a/python_src/SAR_MultiSlc.py
+++ b/python_src/SAR_MultiSlc.py
@@ -161,9 +161,9 @@ if __name__ == "__main__":
     fine_metadata_file = dict_Metadata_Correction['out']['fine_metadata_file']
 
     # ====== DIn_SAR
-    spacingxy = 0.0001
+    spacingxy = "0.0001"
     if "Spacingxy" in dict_DInSAR['parameter']:
-        spacingxy = dict_DInSAR['parameter']['Spacingxy']
+        spacingxy = str(dict_DInSAR['parameter']['Spacingxy'])
     roi = None
     if 'roi' in dict_DInSAR['parameter']:
         roi = dict_DInSAR['parameter']['roi']
@@ -186,6 +186,12 @@ if __name__ == "__main__":
         func_utils.log(logging.CRITICAL, "Error, Wrong Threshold for fine deformation grid")
         geoGrid_threshold = 0.3
 
+    # ====== Check if interferogram is activated for ortho interferogram
+    if ortho_interferogram == "yes" and version_interferogram == "no":
+        func_utils.log(logging.CRITICAL, "Error, Impossible to have ortho interferogram without interferogram\n"
+        "If Ortho is required, please activate interferogram estimation in your json file")
+        quit()
+
     # ====== Check if images exist
     func_utils.check_ifExist(srtm_shapefile)
     func_utils.check_ifExist(hgts_path)
@@ -474,7 +480,9 @@ if __name__ == "__main__":
 
         list_of_Grids, list_of_Interferogram = DInSar.gridToInterferogram(dem, master_Image, master_Image_base, slave_Image, slave_Image_base, master_data_dir, output_dir, param, 'Others', output_dir)
 
-        interferogram_path = list_of_Interferogram[0]
+        interferogram_path = ""
+        if version_interferogram == "yes":
+            interferogram_path = list_of_Interferogram[0]
         grid_path = list_of_Grids[0]
 
         # ==================================== #
@@ -530,16 +538,16 @@ if __name__ == "__main__":
                 interf_roi = "interferogram_roi.tif"
                 func_utils.extract_roi(os.path.join(output_dir, interf_ortho), os.path.join(output_dir, interf_roi), roi)
                 func_utils.extract_band123(os.path.join(output_dir, interf_roi), os.path.join(output_dir, Interfero_roi))
-        if ortho_interferogram == "no" and roi is None:
+        if version_interferogram == "yes" and ortho_interferogram == "no" and roi is None:
             func_utils.extract_band123(interferogram_path, os.path.join(output_dir, InterferoB123))
 
          # ==================================== #
           #               Removing             # 
            #               files              #
             # ============================== #
-
-        func_utils.silentremove(os.path.dirname(interferogram_path), os.path.basename(interferogram_path))
-        func_utils.silentremove(os.path.dirname(interferogram_path), os.path.basename(interferogram_path).split(".")[0]+".geom")
+        if version_interferogram == "yes":
+            func_utils.silentremove(os.path.dirname(interferogram_path), os.path.basename(interferogram_path))
+            func_utils.silentremove(os.path.dirname(interferogram_path), os.path.basename(interferogram_path).split(".")[0]+".geom")
         if ortho_interferogram == "yes":
             interferogram_ortho = "interferogram_ortho.tif"
             func_utils.silentremove(output_dir, interferogram_ortho)
diff --git a/python_src/SAR_MultiSlc_IW.py b/python_src/SAR_MultiSlc_IW.py
index 22b642a00dcdb291d4c62541723498dc98f59aea..fee8b494dd02ac5d03456a6794c063f22534cdc0 100644
--- a/python_src/SAR_MultiSlc_IW.py
+++ b/python_src/SAR_MultiSlc_IW.py
@@ -155,9 +155,9 @@ if __name__ == "__main__":
     if roi:
         ortho_interferogram = "yes"
         print("ortho_interferogram", ortho_interferogram)
-    spacingxy = 0.0001
+    spacingxy = '0.0001'
     if "Spacingxy" in dict_DInSAR['parameter']:
-        spacingxy = dict_DInSAR['parameter']['Spacingxy']
+        spacingxy = str(dict_DInSAR['parameter']['Spacingxy'])
     geoGrid_gridstep_range = dict_DInSAR['parameter']['GridStep_range']
     geoGrid_gridstep_azimut = dict_DInSAR['parameter']['GridStep_azimut']
     geoGrid_threshold = dict_DInSAR['parameter']['Grid_Threshold']
@@ -178,6 +178,12 @@ if __name__ == "__main__":
         esd_AutoMode = True
         esd_NbIter = 10 # 10 iterations maximum for automatic mode
 
+    # ====== Check if interferogram is activated for ortho interferogram
+    if ortho_interferogram == "yes" and version_interferogram == "no":
+        func_utils.log(logging.CRITICAL, "Error, Impossible to have ortho interferogram without interferogram\n"
+        "If Ortho is required, please activate interferogram estimation in your json file")
+        quit()
+
     # ====== Check Threshold
     if (geoGrid_threshold < 0) or (geoGrid_threshold > 1) :
         func_utils.log(logging.CRITICAL, "Error, Wrong Threshold for fine deformation grid")
diff --git a/python_src/utils/func_utils.py b/python_src/utils/func_utils.py
index 6106d8609520d35fcc188838be53646581f7c6cc..fa6d0e6e2237d9c34fd824300418d584f33ee939 100644
--- a/python_src/utils/func_utils.py
+++ b/python_src/utils/func_utils.py
@@ -377,7 +377,7 @@ def build_virutal_raster(master_Image, start_time, end_time, master_date,
     hgts = check_srtm_coverage(master_footprint, srtm_shapefile)
     hgts_tuple = []
     for hgt in hgts:
-        hgts_tuple.append(hgts_path + hgt)
+        hgts_tuple.append(os.path.join(hgts_path, hgt))
 
     print("\n Creating virtual raster from intersected hgt files...\n")
     dem = gdal.BuildVRT("{}/output_{}_to_{}_m_{}/dem_scene.vrt".format(