diff --git a/src/lib/evas/common/evas_text_utils.c b/src/lib/evas/common/evas_text_utils.c
index 2b436952f4..dc2407fee4 100644
--- a/src/lib/evas/common/evas_text_utils.c
+++ b/src/lib/evas/common/evas_text_utils.c
@@ -180,6 +180,10 @@ evas_common_text_props_index_find(const Evas_Text_Props *props, int _cutoff)
int max = props->len - 1;
int mid;
+ /* Props can be empty, verify they are not before going on. */
+ if (!props->info)
+ return -1;
+
_cutoff += props->text_offset;
ot_info = props->info->ot + props->start;
/* Should get us closer to the right place. */
diff --git a/src/tests/evas/evas_test_textblock.c b/src/tests/evas/evas_test_textblock.c
index 4c48b60ae2..d8949e218b 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -2612,6 +2612,9 @@ START_TEST(evas_textblock_formats)
evas_object_textblock_text_markup_prepend(cur, "");
ck_assert_str_eq(evas_object_textblock_text_markup_get(tb), "abc
def");
+ /* Ligatures cut by formats */
+ evas_object_textblock_text_markup_set(tb, "fif");
+ evas_object_textblock_size_formatted_get(tb, NULL, NULL);
END_TB_TEST();
}