ArduCopter ignoring my region of interest?

I’m using Copter 3.5.1. This is an auto mission I tried flying this morning (exported via wp list in mavproxy).

QGC WPL 110
0	0	0	16	0.000000	0.000000	0.000000	0.000000	43.371098	-78.276711	75.869995	1
1	0	3	22	0.000000	0.000000	0.000000	0.000000	43.370743	-78.277130	30.000000	1
2	0	3	16	0.000000	0.000000	0.000000	0.000000	43.370754	-78.277115	30.000000	1
3	0	3	201	3.000000	0.000000	0.000000	0.000000	43.368443	-78.277046	30.000000	1
4	0	3	18	2.000000	0.000000	50.000000	0.000000	43.368443	-78.277039	30.000000	1
5	0	3	201	3.000000	0.000000	0.000000	0.000000	43.371235	-78.277115	30.000000	1
6	0	3	16	10.000000	0.000000	0.000000	0.000000	43.371868	-78.277161	30.000000	1
7	0	3	16	5.000000	0.000000	0.000000	0.000000	43.371937	-78.279503	30.000000	1
8	0	3	16	5.000000	0.000000	0.000000	0.000000	43.371967	-78.274635	30.000000	1
9	0	0	20	0.000000	0.000000	0.000000	0.000000	0.000000	0.000000	0.000000	1

There are two ROI waypoints in that mission (that’s mavlink command 201 in the above list). The first seems to work fine; the ROI is followed by a Loiter (Turns) command and the copter correctly stays pointed at the ROI while it orbits that point.

The second ROI is followed by some side-to-side movements, and arducopter seems to completely ignore this ROI. Instead, the copter always points in the direction of the next waypoint.

Have I misunderstood how the ROI feautre is supposed to work? I want the copter to point at the ROI for those last few waypoints. The most frustrating part here is that this works fine running in SITL: the virtual vehicle is correctly oriented for the entire flight.

Thanks for your help!

It looks like even in SITL that if the next waypoint is a Loiter (Turns) waypoint that a ROI has no effect.