diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg
index 0ca8a6715506274fafbac747c772871a8b6e0ab7..4ed68e1ca41430e7225e1b2936c033f11c52a91a 100644
--- a/extras/conf/SRB2-22.cfg
+++ b/extras/conf/SRB2-22.cfg
@@ -1992,7 +1992,7 @@ linedeftypes
 			title = "Set Tagged Sector's Floor Height/Texture";
 			prefix = "(400)";
 			flags8text = "[3] Set delay by backside sector";
-			flags64text = "[6] Keep floor flat";
+			flags64text = "[6] Don't change floor texture";
 		}
 
 		401
@@ -2000,6 +2000,7 @@ linedeftypes
 			title = "Set Tagged Sector's Ceiling Height/Texture";
 			prefix = "(401)";
 			flags8text = "[3] Set delay by backside sector";
+			flags64text = "[6] Don't change ceiling texture";
 		}
 
 		402
@@ -2090,7 +2091,7 @@ linedeftypes
 			prefix = "(403)";
 			flags2text = "[1] Trigger linedef executor";
 			flags8text = "[3] Set delay by backside sector";
-			flags64text = "[6] Change floor flat";
+			flags64text = "[6] Change floor texture";
 		}
 
 		404
@@ -2099,7 +2100,7 @@ linedeftypes
 			prefix = "(404)";
 			flags2text = "[1] Trigger linedef executor";
 			flags8text = "[3] Set delay by backside sector";
-			flags64text = "[6] Change ceiling flat";
+			flags64text = "[6] Change ceiling texture";
 		}
 
 		405
diff --git a/src/p_ceilng.c b/src/p_ceilng.c
index 43f3cc1d52400ef4086a09503d4039d9df336c5c..e28f9b5b10ce215422e3d11ec90847c1833c801a 100644
--- a/src/p_ceilng.c
+++ b/src/p_ceilng.c
@@ -67,7 +67,8 @@ void T_MoveCeiling(ceiling_t *ceiling)
 				switch (ceiling->type)
 				{
 					case instantMoveCeilingByFrontSector:
-						ceiling->sector->ceilingpic = ceiling->texture;
+						if (ceiling->texture > -1)
+							ceiling->sector->ceilingpic = ceiling->texture;
 						ceiling->sector->ceilingdata = NULL;
 						ceiling->sector->ceilspeed = 0;
 						P_RemoveThinker(&ceiling->thinker);
@@ -186,7 +187,8 @@ void T_MoveCeiling(ceiling_t *ceiling)
 						break;
 
 					case instantMoveCeilingByFrontSector:
-						ceiling->sector->ceilingpic = ceiling->texture;
+						if (ceiling->texture > -1)
+							ceiling->sector->ceilingpic = ceiling->texture;
 						ceiling->sector->ceilingdata = NULL;
 						ceiling->sector->ceilspeed = 0;
 						P_RemoveThinker(&ceiling->thinker);
@@ -512,7 +514,10 @@ INT32 EV_DoCeiling(line_t *line, ceiling_e type)
 					ceiling->direction = -1;
 					ceiling->bottomheight = line->frontsector->ceilingheight;
 				}
-				ceiling->texture = line->frontsector->ceilingpic;
+				if (line->flags & ML_NOCLIMB)
+					ceiling->texture = -1;
+				else
+					ceiling->texture = line->frontsector->ceilingpic;
 				break;
 
 			case moveCeilingByFrontTexture: