diff --git a/modules/gles31/functional/es31fDrawBuffersIndexedTests.cpp b/modules/gles31/functional/es31fDrawBuffersIndexedTests.cpp
index a9948f3..171d05c 100644
--- a/modules/gles31/functional/es31fDrawBuffersIndexedTests.cpp
+++ b/modules/gles31/functional/es31fDrawBuffersIndexedTests.cpp
@@ -661,7 +661,9 @@
 	else
 		state.fragOps.blendMode = rr::BLENDMODE_NONE;
 
-	if (tcu::getTextureChannelClass(info.getFormat().type) != tcu::TEXTURECHANNELCLASS_SIGNED_FIXED_POINT && tcu::getTextureChannelClass(info.getFormat().type) != tcu::TEXTURECHANNELCLASS_UNSIGNED_FIXED_POINT)
+	if (tcu::getTextureChannelClass(info.getFormat().type) != tcu::TEXTURECHANNELCLASS_SIGNED_FIXED_POINT
+		&& tcu::getTextureChannelClass(info.getFormat().type) != tcu::TEXTURECHANNELCLASS_UNSIGNED_FIXED_POINT
+		&& tcu::getTextureChannelClass(info.getFormat().type) != tcu::TEXTURECHANNELCLASS_FLOATING_POINT)
 		state.fragOps.blendMode = rr::BLENDMODE_NONE;
 
 	return state;
@@ -1357,6 +1359,32 @@
 		BlendState			blendState;
 
 		genRandomBlendState(rng, blendState);
+
+		// 32bit float formats don't support blending in GLES32
+		if (format.type == tcu::TextureFormat::FLOAT)
+		{
+			// If format is 32bit float post common can't enable blending
+			if (postCommon.enableBlend && *postCommon.enableBlend)
+			{
+				// Either don't set enable blend or disable blending
+				if (rng.getBool())
+					postCommon.enableBlend = tcu::nothing<bool>();
+				else
+					postCommon.enableBlend = tcu::just(false);
+			}
+
+			// If post common doesn't disable blending, per attachment state or
+			// pre common must.
+			if (!postCommon.enableBlend)
+			{
+				// If pre common enables blend per attachment must disable it
+				// If per attachment state changes blend state it must disable it
+				if ((preCommon.enableBlend && *preCommon.enableBlend)
+					|| blendState.enableBlend)
+					blendState.enableBlend = tcu::just(false);
+			}
+		}
+
 		drawBuffers.push_back(DrawBufferInfo(render, size, blendState, format));
 	}
 }
