Index: /issm/trunk/src/m/utils/BC/SetIceSheetBC.m
===================================================================
--- /issm/trunk/src/m/utils/BC/SetIceSheetBC.m	(revision 1796)
+++ /issm/trunk/src/m/utils/BC/SetIceSheetBC.m	(revision 1797)
@@ -21,5 +21,9 @@
 
 %segment on neumann (Ice Front) -> none
-md.pressureload=zeros(0,3);
+if strcmpi(md.type,'2d')
+	md.pressureload=zeros(0,3);
+else
+	md.pressureload=zeros(0,5);
+end
 
 %Create zeros melting and accumulation if not specified
Index: /issm/trunk/src/m/utils/BC/SetIceShelfBC.m
===================================================================
--- /issm/trunk/src/m/utils/BC/SetIceShelfBC.m	(revision 1796)
+++ /issm/trunk/src/m/utils/BC/SetIceShelfBC.m	(revision 1797)
@@ -34,5 +34,14 @@
 %segment on Ice Front
 pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2)));
-md.pressureload=md.segments(pos,:);
+pressureload=md.segments(pos,:);
+if strcmpi(md.type,'3d')
+	oldpressureload=pressureload;
+	pressureload_layer1=[oldpressureload(:,1:2)  oldpressureload(:,2)+md.numberofgrids2d  oldpressureload(:,1)+md.numberofgrids2d  oldpressureload(:,3)];
+	pressureload=[];
+	for i=1:md.numlayers-1,
+		pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.numberofgrids2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d ];
+	end
+end
+md.pressureload=pressureload;
 
 %Create zeros melting and accumulation if not specified
Index: /issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m
===================================================================
--- /issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m	(revision 1796)
+++ /issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m	(revision 1797)
@@ -46,5 +46,14 @@
 %segment on Neumann (Ice Front)
 pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2)));
-md.pressureload=md.segments(pos,:);
+pressureload=md.segments(pos,:);
+if strcmpi(md.type,'3d')
+	oldpressureload=pressureload;
+	pressureload_layer1=[oldpressureload(:,1:2)  oldpressureload(:,2)+md.numberofgrids2d  oldpressureload(:,1)+md.numberofgrids2d  oldpressureload(:,3)];
+	pressureload=[];
+	for i=1:md.numlayers-1,
+		pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.numberofgrids2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d ];
+	end
+end
+md.pressureload=pressureload;
 
 %Create zeros melting and accumulation if not specified
