diff --git a/code/classes/SCDclass_mdswgsigarray1.m b/code/classes/SCDclass_mdswgsigarray1.m
index 1a05be96d4c390fb86239fa5adc30a54e016a96f..28eb87d239a3284ce6c7a7a02a829313fd84cf5b 100644
--- a/code/classes/SCDclass_mdswgsigarray1.m
+++ b/code/classes/SCDclass_mdswgsigarray1.m
@@ -110,9 +110,13 @@ classdef SCDclass_mdswgsigarray1 < SCDclass_mdswg
  
             for ii=1:numel(sourceidxs)
                mdschannel=sprintf(obj.tdiexpr,  sourceidxs(ii));
-               data=tdi(mdschannel);
-              
-               value.Data(:,ii)= single(interp1(data.dim{1},data.data,timebase,'linear',0));               
+               
+               %data=tdi(mdschannel);
+               %value.Data(:,ii)= single(interp1(data.dim{1},data.data,timebase,'linear',0));               
+            
+                dbdata=mdsvalue(mdschannel);
+                dbtime=mdsvalue(['dim_of(' mdschannel ')']);
+                value.Data = single(interp1(dbtime,dbdata,timebase,'linear',0))';
             end    
                 
         end
diff --git a/code/classes/SCDclass_mdswgsigsingle.m b/code/classes/SCDclass_mdswgsigsingle.m
index 9ce4a0bcba83273b34dc11f88398cfd165b70baf..b9c018ad4740d8cd0ba8f1834c650037febb0c93 100644
--- a/code/classes/SCDclass_mdswgsigsingle.m
+++ b/code/classes/SCDclass_mdswgsigsingle.m
@@ -90,9 +90,12 @@ classdef SCDclass_mdswgsigsingle < SCDclass_mdswg
             value.Time = timebase;
             value.Data = single(zeros(numel(timebase),1));
  
-            data=tdi(obj.tdiexpr);   
-            value.Data = single(interp1(data.dim{1},data.data,timebase,'linear',0))';
-                
+            %data=tdi(obj.tdiexpr);   
+            %value.Data = single(interp1(data.dim{1},data.data,timebase,'linear',0))';
+             
+            dbdata=mdsvalue(obj.tdiexpr);
+            dbtime=mdsvalue(['dim_of(' obj.tdiexpr ')']);
+            value.Data = single(interp1(dbtime,dbdata,timebase,'linear',0))';
         end