diff --git a/src/document/libdom/mapa.c b/src/document/libdom/mapa.c
index c6944d079..e661a9f2e 100644
--- a/src/document/libdom/mapa.c
+++ b/src/document/libdom/mapa.c
@@ -191,7 +191,15 @@ compare_nodes(const void *a, const void *b)
 	void *nodea = ((struct el_node_elem *)a)->node;
 	void *nodeb = ((struct el_node_elem *)b)->node;
 
-	return nodea - nodeb;
+	if (nodea < nodeb) {
+		return -1;
+	}
+
+	if (nodea > nodeb) {
+		return 1;
+	}
+
+	return 0;
 }
 
 int