Limit in subquery
===

When I use the following query without LIMIT nested in a subquery
    
    SELECT `c`.*, GROUP_CONCAT(g.photo SEPARATOR "|") AS `photos_list` FROM `contests` AS `c` LEFT JOIN 
        (SELECT `gallery`.`contest_id`, `gallery`.`photo` FROM `gallery`) AS `g` ON c.id = g.contest_id GROUP BY `c`.`id`

all works fine

    id 	 title 	  photos_list 

    1	 title1	  50026c35632eb.jpg
    2	 title2	  50026ac53567f.jpg|50026ac5ec82e.jpg|500e71557270f....

Bun when I add LIMIT, I get "photos_list" in only one row. Following query

    SELECT `c`.*, GROUP_CONCAT(g.photo SEPARATOR "|") AS `photos_list` FROM `contests` AS `c` LEFT JOIN (SELECT `gallery`.`contest_id`, `gallery`.`photo` FROM `gallery` LIMIT 0, 2) AS `g` ON c.id = g.contest_id GROUP BY `c`.`id`

will return 

    id 	title 	photos_list 

    1	title1	NULL
    2	title2	50026ac46ea05.jpg|50026ac53567f.jpg

Item with an id = 1 has to contain photos_list, but it doesn't. Noteworthy that LIMIT does work for item with an id = 2.  
What should I do to get a correct result?