MenuStripでメニューを作っているのですが、
ToolStripItemの中にAvailable == false の項目があると、一番下に見えない項目があるかのように振舞ってしまいます。
表示直後は問題ないのですが、カーソルを一番下に動かすと各項目がずれて表示されます。

 ContextMenuStrip menu = new ContextMenuStrip();
 ToolStripItem item;
 item = menu.Items.Add("Item A");
 item = menu.Items.Add("Item B");
 item = menu.Items.Add("Item C");
 item = menu.Items.Add("Item D");

のようなコードがあったとき、
 item.Available = false;
をA〜Cの下に書くと問題が発生します。Dの下に書いても問題は起こりません。

これを回避したいのですが、どうすればよいのでしょうか。