diff --git a/tsgqc.m b/tsgqc.m
index dc6c8308b8889029b4da73ae00b9526571ba37d2..efb8f3a4a199d857433d2c26b636601826f597eb 100644
--- a/tsgqc.m
+++ b/tsgqc.m
@@ -1161,7 +1161,7 @@ hrbInterpCancel = uicontrol( ...
     % Open standard dialog box for retrieving files
     % ---------------------------------------------
     [fileName, pathname, filterIndex] = uigetfile( ...
-      {'*.nc';'*.lbv';'*.tsgqc';'*.btl';'*.spl';'*.arg';'*.xml'}, 'Pick a file');
+      {'*.nc';'*.lbv';'*.tsgqc';'*.btl';'*.spl';'*.arg';'*.xml';'*.sdf'}, 'Pick a file');
 
     % flushes the event queue and updates the closed uigetfile window
     % ---------------------------------------------------------------
@@ -1223,6 +1223,10 @@ hrbInterpCancel = uicontrol( ...
           tsg_initialisation(hMainFig);
           errTsg = readTsgDataXML(     hMainFig, fullFileName );
 
+        case 8                      % read TSG SDF file *.sdf
+          tsg_initialisation(hMainFig);
+          errTsg = readTsgDataSDF( hMainFig, fullFileName );
+
         otherwise
 
           % Reset pointer to arrow