Index: /issm/trunk-jpl/src/m/classes/SMBhenning.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBhenning.m	(revision 21147)
+++ /issm/trunk-jpl/src/m/classes/SMBhenning.m	(revision 21148)
@@ -13,4 +13,14 @@
 			switch nargin
 				case 0
+				case 1
+					inputstruct=varargin{1};
+					list1 = properties('SMBhenning');
+					list2 = fieldnames(inputstruct);
+					for i=1:length(list1)
+						fieldname = list1{i};
+						if ismember(fieldname,list2),
+							self.(fieldname) = inputstruct.(fieldname);
+						end
+					end
 				otherwise
 					error('constructor not supported');
Index: /issm/trunk-jpl/src/m/classes/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.m	(revision 21147)
+++ /issm/trunk-jpl/src/m/classes/model.m	(revision 21148)
@@ -1044,5 +1044,5 @@
 			end
 			%2014 January 9th
-			if isfield(structmd,'surfaceforcings'),
+			if isfield(structmd,'surfaceforcings') & isa(md.smb,'surfaceforcings'),
 				disp('Recovering old surfaceforcings class');
 				mass_balance=structmd.surfaceforcings.mass_balance;
@@ -1051,7 +1051,11 @@
 			end
 			%2015 September 10
-			if isfield(structmd,'surfaceforcings') & isa(md.smb,'SMB'),
+			if isfield(structmd,'surfaceforcings') & isa(structmd.surfaceforcings,'SMB'),
 				disp('Recovering old SMB class');
 				md.smb=SMBforcing(structmd.surfaceforcings);
+			end
+			if isfield(structmd,'surfaceforcings') & isa(structmd.surfaceforcings,'SMBhenning'),
+				disp('Recovering old SMBhenning class');
+				md.smb=SMBhenning(structmd.surfaceforcings);
 			end
 
