diff --git a/classes/SCDclass_mdswg.m b/classes/SCDclass_mdswg.m
index 590731b056819ef3f3e0d8dc93c1eb68c98c05c1..71c8f3299d1cb5e2355b8ffb3b05d60d7d0b8136 100644
--- a/classes/SCDclass_mdswg.m
+++ b/classes/SCDclass_mdswg.m
@@ -29,7 +29,7 @@ classdef SCDclass_mdswg < matlab.mixin.Heterogeneous
         overrideshot        % =1 if instantiated with overridden shot number, in this case this shot number will be always used during actualization
         overrideshotn       % shot number in case of overridden shot number
         
-        bound               % true if wavegen has been bound to another SCDDS component
+        bound               % true if wavegen has been bound to another SCDDS component 
     end
     
     properties 
@@ -257,6 +257,9 @@ classdef SCDclass_mdswg < matlab.mixin.Heterogeneous
         
         % Populates the corresponding MDS node with workspace values
         autopopulatemds(obj, shot)
+        
+        % casts to proper type
+        out = castdata(obj, in);
 
     end
 end
diff --git a/classes/SCDclass_mdswgsigsingle.m b/classes/SCDclass_mdswgsigsingle.m
index 20f9f9fdfc5848dbda9594d66e0f2a15e68ff81d..b7cf04e10e03174b36b1d44a7e238ce3838e2f16 100644
--- a/classes/SCDclass_mdswgsigsingle.m
+++ b/classes/SCDclass_mdswgsigsingle.m
@@ -143,7 +143,11 @@ classdef SCDclass_mdswgsigsingle < SCDclass_mdswg
             units = wgentryval.(structparam).DataInfo.Units;
             
             obj.autopopulatemdscommon(shot, obj.tdiexpr, dim, data, units, [baseparam '.' structparam '[' num2str(obj.destidx) ']']);             
-        end            
+        end     
+        
+        function out = castdata(obj, in)
+            out = single(in);
+        end
     end
 end