H2のCASE文で集約関数使ったときのおかしな挙動

CASE 集約関数 WHEN ... と言う書き方をするとちゃんと動いてくれないという話。

『ジョー・セルコ / SQLパズル第2版(ISBN:9784798114132)』見ながらH2で確認してたら、CASE文の挙動がおかしいような。

SQL

select course_nbr, min(teacher_name) as col2,
case count(*)
when 1 then null
when 2 then max(teacher_name)
else '--More--' end as col3
from register
group by course_nbr, student_name

結果

COURSE_NBR COL2 COL3
10 Alpha null
30 Delta --More--
20 Bravo --More--

本当はCOURSE_NBR = 20の行は、Bravo, Charlieで出るようにデータ入れてたんですが…。
で、条件を入れ替えてみました。

select course_nbr, min(teacher_name) as col2,
case count(*)
when 2 then max(teacher_name)
when 1 then null
else '--More--' end as col3
from register
group by course_nbr, student_name

結果

COURSE_NBR COL2 COL3
10 Alpha Alpha
30 Delta --More--
20 Bravo --More--

あれー?
ひょとして、count(*)の結果が保存されない?
H2のソース見るのは面倒だから確認してないけど。