diff --git a/game/client/src/main/java/net/minecraft/client/gui/ScreenSignEditor.java b/game/client/src/main/java/net/minecraft/client/gui/ScreenSignEditor.java
index c484ff194..4017742cd 100644
--- a/game/client/src/main/java/net/minecraft/client/gui/ScreenSignEditor.java
+++ b/game/client/src/main/java/net/minecraft/client/gui/ScreenSignEditor.java
@@ -339,14 +339,11 @@ public class ScreenSignEditor extends Screen {
 
     private void drawFakeSign(final int x, final int y, final int mx, final int my, final @NotNull Block<?> block, final int meta, final @NotNull EnumSignPicture picture) {
         // Fetch and bind base texture
-        final int colorSign;
         if (Block.hasLogicClass(block, BlockLogicSignPainted.class)) {
             final @NotNull DyeColor c = ((IPainted) block.getLogic()).fromMetadata(meta);
             this.mc.textureManager.loadTexture("/assets/minecraft/textures/entity/sign/" + c.colorID + ".png").bind();
-            colorSign = c.color.getARGB();
         } else {
             this.mc.textureManager.loadTexture("/assets/minecraft/textures/entity/sign.png").bind();
-            colorSign = 0x877756;
         }
 
         final boolean mouseOver = mx >= x && mx <= x + 24 * SMALL_SIGN_SIZE && my >= y && (my <= y + 12 * SMALL_SIGN_SIZE);
@@ -363,10 +360,14 @@ public class ScreenSignEditor extends Screen {
 
         // Render overlay texture
         if (picture != EnumSignPicture.NONE) {
-            GLRenderer.enableState(State.BLEND);
-            GLRenderer.setBlendFunc(BlendFactor.ZERO, BlendFactor.SRC_COLOR);
+            if (picture.isBlended()) {
+                GLRenderer.enableState(State.BLEND);
+                GLRenderer.setBlendFunc(BlendFactor.ZERO, BlendFactor.SRC_COLOR);
+            } else {
+                GLRenderer.disableState(State.BLEND);
+            }
             GLRenderer.setDepthMask(false);
-            drawTexturedModalRect(x, y, 24 * SMALL_SIGN_SIZE, 12 * SMALL_SIGN_SIZE, colorSign, TextureRegistry.getTexture(picture.getTextureKey()));
+            drawTexturedModalRect(x, y, 24 * SMALL_SIGN_SIZE, 12 * SMALL_SIGN_SIZE, TextureRegistry.getTexture(picture.getTextureKey()));
             GLRenderer.disableState(State.BLEND);
         }
 
@@ -374,7 +375,7 @@ public class ScreenSignEditor extends Screen {
         GLRenderer.popFrame();
     }
 
-    private static void drawTexturedModalRect(final double x, final double y, final double width, final double height, final int color, final @NotNull IconCoordinate coordinate) {
+    private static void drawTexturedModalRect(final double x, final double y, final double width, final double height, final @NotNull IconCoordinate coordinate) {
         coordinate.parentAtlas.bind();
         final TessellatorGeneral tessellator = GLRenderer.getTessellator();
         tessellator.startDrawingQuads();
diff --git a/game/client/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererSign.java b/game/client/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererSign.java
index 9dc06ca8c..4d5093546 100644
--- a/game/client/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererSign.java
+++ b/game/client/src/main/java/net/minecraft/client/render/tileentity/TileEntityRendererSign.java
@@ -86,14 +86,11 @@ public class TileEntityRendererSign extends TileEntityRenderer<TileEntitySign> {
 
         GLRenderer.pushFrame();
         GLRenderer.modelM4f().scale(scale, scale, -scale);
-        final int colorSign;
         if (Block.hasLogicClass(block, BlockLogicSignPainted.class)) {
             final DyeColor c = ((IPainted) block.getLogic()).fromMetadata(meta);
             bindTexture(this.signColorTextures[c.blockMeta]);
-            colorSign = c.color.getARGB();
         } else {
             bindTexture("/assets/minecraft/textures/entity/sign.png");
-            colorSign = 0x877756;
         }
         GLRenderer.disableState(State.BLEND);
         model.render();
@@ -102,14 +99,18 @@ public class TileEntityRendererSign extends TileEntityRenderer<TileEntitySign> {
 
         // Render overlay
         GLRenderer.pushFrame();
-        GLRenderer.enableState(State.BLEND);
         GLRenderer.modelM4f().translate(0 * scale, height * scale, 1.05f * scale);
         GLRenderer.setDepthMask(false);
         GLRenderer.setColor4f(1, 1, 1, 1);
-        GLRenderer.setBlendFunc(BlendFactor.ZERO, BlendFactor.SRC_COLOR);
         final EnumSignPicture picture = tileEntity.getPicture();
-        if (picture != EnumSignPicture.NONE) {
-            drawTexturedModalRect(1, 0.5, colorSign, TextureRegistry.getTexture(picture.getTextureKey()));
+        if (picture != null && picture.isBlended()) {
+            GLRenderer.enableState(State.BLEND);
+            GLRenderer.setBlendFunc(BlendFactor.ZERO, BlendFactor.SRC_COLOR);
+        } else {
+            GLRenderer.disableState(State.BLEND);
+        }
+        if (picture != null && picture != EnumSignPicture.NONE) {
+            drawTexturedModalRect(1, 0.5, picture.isBlended(), TextureRegistry.getTexture(picture.getTextureKey()));
         }
         GLRenderer.disableState(State.BLEND);
         GLRenderer.popFrame();
@@ -170,8 +171,10 @@ public class TileEntityRendererSign extends TileEntityRenderer<TileEntitySign> {
         GLRenderer.popFrame();
     }
 
-    private static void drawTexturedModalRect(final double width, final double height, final int color, final @NotNull IconCoordinate coordinate) {
-        GLRenderer.globalSetLightEnabled(false);
+    private static void drawTexturedModalRect(final double width, final double height, final boolean blended, final @NotNull IconCoordinate coordinate) {
+        if (blended) {
+            GLRenderer.globalSetLightEnabled(false);
+        }
         coordinate.parentAtlas.bind();
         final TessellatorGeneral tessellator = GLRenderer.getTessellator();
         tessellator.startDrawingQuads();
diff --git a/game/core/src/main/java/net/minecraft/core/enums/EnumSignPicture.java b/game/core/src/main/java/net/minecraft/core/enums/EnumSignPicture.java
index ce00534e8..0ea73b1cc 100644
--- a/game/core/src/main/java/net/minecraft/core/enums/EnumSignPicture.java
+++ b/game/core/src/main/java/net/minecraft/core/enums/EnumSignPicture.java
@@ -26,7 +26,7 @@ public enum EnumSignPicture
     MINE                (18, "sign.image.mine",             "minecraft:sign/mine"),
     REDSTONE            (19, "sign.image.redstone",         "minecraft:sign/redstone"),
     FARM                (20, "sign.image.farm",             "minecraft:sign/farm"),
-    BARRICADE           (21, "sign.image.barricade",        "minecraft:sign/barricade"),
+    BARRICADE           (21, "sign.image.barricade",        "minecraft:sign/barricade", false),
     QUESTION_MARK       (22, "sign.image.question_mark",    "minecraft:sign/question_mark"),
     FACE_SMILE          (23, "sign.image.face_smile",       "minecraft:sign/face_smile"),
     FACE_SAD            (24, "sign.image.face_sad",         "minecraft:sign/face_sad"),
@@ -55,12 +55,17 @@ public enum EnumSignPicture
     private final int id;
     private final @NotNull String languageKey;
     private final @NotNull String texKey;
+    private final boolean blend;
 
-    EnumSignPicture(int id, @NotNull String languageKey, @NotNull String textureKey)
-    {
+    EnumSignPicture(final int id, final @NotNull String languageKey, final @NotNull String textureKey, final boolean blend) {
         this.id = id;
         this.languageKey = languageKey;
         this.texKey = textureKey;
+        this.blend = blend;
+    }
+
+    EnumSignPicture(final int id, final @NotNull String languageKey, final @NotNull String textureKey) {
+        this(id, languageKey, textureKey, true);
     }
 
     public int getId()
@@ -78,6 +83,10 @@ public enum EnumSignPicture
         return texKey;
     }
 
+    public boolean isBlended() {
+        return this.blend;
+    }
+
     public static @Nullable EnumSignPicture fromId(int id) {
         if (id < 0 || id >= vals.length) return null;
         return vals[id];
