diff --git a/build/data/libobs/format_conversion.effect b/build/data/libobs/format_conversion.effect
index 89517050189074af0fbddb2e47620ee8ef7c6bf7..dc91edecd1fa636604d539c6b0c7521cc0418cd7 100644
--- a/build/data/libobs/format_conversion.effect
+++ b/build/data/libobs/format_conversion.effect
@@ -108,12 +108,12 @@ float4 PSPlanar420(VertInOut vert_in) : TARGET
 		sample_pos[3] = float2(ch_u +  width_i2, ch_v);
 	}
 
-	float4x4 out_val = {
+	float4x4 out_val = float4x4(
 		image.Sample(def_sampler, sample_pos[0]),
 		image.Sample(def_sampler, sample_pos[1]),
 		image.Sample(def_sampler, sample_pos[2]),
 		image.Sample(def_sampler, sample_pos[3])
-	};
+	);
 
 	out_val = transpose(out_val);
 
diff --git a/libobs/graphics/graphics.c b/libobs/graphics/graphics.c
index f94ee33ac024ccf72a784b99fc8d4853d0b9b70b..19d82ef0384afab2b1a9fc8be62d406fb9c7ff97 100644
--- a/libobs/graphics/graphics.c
+++ b/libobs/graphics/graphics.c
@@ -582,8 +582,9 @@ effect_t gs_create_effect(const char *effect_string, const char *filename,
 	ep_init(&parser);
 	success = ep_parse(&parser, effect, effect_string, filename);
 	if (!success) {
-		*error_string = error_data_buildstring(
-				&parser.cfp.error_list);
+		if (error_string)
+			*error_string = error_data_buildstring(
+					&parser.cfp.error_list);
 		effect_destroy(effect);
 		effect = NULL;
 	}