diff --git a/drivers/net/ethernet/mscc/ocelot_vcap.c b/drivers/net/ethernet/mscc/ocelot_vcap.c
index 4fbd1715e35ad5e1efd4daf762f97ff317c56b63..67625377f661ba32f51706f9c5791173c9af9d77 100644
--- a/drivers/net/ethernet/mscc/ocelot_vcap.c
+++ b/drivers/net/ethernet/mscc/ocelot_vcap.c
@@ -1007,7 +1007,7 @@ static int ocelot_vcap_filter_add_to_block(struct ocelot *ocelot,
 	block->count++;
 
 	if (list_empty(&block->rules)) {
-		list_add(&filter->list, &block->rules);
+		list_add_tail(&filter->list, &block->rules);
 		return 0;
 	}