Index: /issm/trunk-jpl/src/m/classes/SMBarma.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBarma.m	(revision 27466)
+++ /issm/trunk-jpl/src/m/classes/SMBarma.m	(revision 27467)
@@ -174,4 +174,7 @@
 				tempelevationbins = repmat(tempelevationbins,1,1,12); %same values each month
 			end
+			nbas     = size(templapserates,1);
+         nbins    = size(templapserates,2);
+         ntmlapse = size(templapserates,3);
 			if(any(isnan(md.smb.refelevation)))
 				temprefelevation = zeros(1,md.smb.num_basins);
@@ -185,10 +188,8 @@
 					temprefelevation(ii) = sum(areas(indices).*elemsh)/sum(areas(indices));
 				end
-				if(any(reshape(md.smb.lapserates,[1,nbas*nbins*12])~=0))
+				if(any(reshape(templapserates,[1,nbas*nbins*12])~=0))
 					disp('      smb.refelevation not specified: Reference elevations set to mean surface elevation of basins');
 				end
 			end
-			nbas     = size(templapserates,1);
-         nbins    = size(templapserates,2);
 			temp2dlapserates    = zeros(nbas,nbins*12);
 			temp2delevationbins = zeros(nbas,max(1,nbins-1)*12);
Index: /issm/trunk-jpl/src/m/classes/SMBarma.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBarma.py	(revision 27466)
+++ /issm/trunk-jpl/src/m/classes/SMBarma.py	(revision 27467)
@@ -171,15 +171,22 @@
         nprm = md.smb.num_params;
         nper = md.smb.num_breaks+1;
-        if(len(np.shape(md.smb.lapserates))==1):
-            nbins    = 1
-            ntmlapse = 1
-        elif(len(np.shape(md.smb.lapserates))==2):
-            nbins    = np.shape(md.smb.lapserates)[1]
-            ntmlapse = 1
-        elif(len(np.shape(md.smb.lapserates))==3):
-            nbins    = np.shape(md.smb.lapserates)[1]
-            ntmlapse = np.shape(md.smb.lapserates)[2]
-        templapserates    = np.reshape(md.smb.lapserates,[nbas,nbins,ntmlapse])
-        tempelevationbins = np.reshape(md.smb.elevationbins,[nbas,max(1,nbins-1),ntmlapse])
+        if(np.any(np.isnan(md.smb.lapserates))):
+            templapserates = np.zeros((md.smb.num_basins,2,12))
+            print('      smb.lapserates not specified: set to 0')
+            tempelevationbins = np.zeros((md.smb.num_basins,1,12)) #dummy elevation bins
+            nbins    = 2
+            ntmlapse = 12
+        else:
+            if(len(np.shape(md.smb.lapserates))==1):
+                nbins    = 1
+                ntmlapse = 1
+            elif(len(np.shape(md.smb.lapserates))==2):
+                nbins    = np.shape(md.smb.lapserates)[1]
+                ntmlapse = 1
+            elif(len(np.shape(md.smb.lapserates))==3):
+                nbins    = np.shape(md.smb.lapserates)[1]
+                ntmlapse = np.shape(md.smb.lapserates)[2]
+            templapserates    = np.reshape(md.smb.lapserates,[nbas,nbins,ntmlapse])
+            tempelevationbins = np.reshape(md.smb.elevationbins,[nbas,max(1,nbins-1),ntmlapse])
         temprefelevation  = np.copy(md.smb.refelevation)
         # Scale the parameters #
@@ -217,9 +224,5 @@
             dbreaks = np.copy(md.smb.datebreaks)
 
-        if(np.any(np.isnan(md.smb.lapserates))):
-            templapserates = np.zeros((md.smb.num_basins,2,12))
-            print('      smb.lapserates not specified: set to 0')
-            tempelevationbins = np.zeros((md.smb.num_basins,1,12)) #dummy elevation bins
-        elif(ntmlapse==1):
+        if(ntmlapse==1):
             templapserates    = np.repeat(templapserates,12,axis=2) 
             tempelevationbins = np.repeat(tempelevationbins,12,axis=2) 
