-ok(!$@, "re-cast croaks ($@)");
-ok($res, 're-cast invalid');
+is($@, '', 're-cast doesn\'t croak');
+ok($res, 're-cast is valid');
+
+$res = eval { dispell $a, \"blargh" };
+like($@, $inv_wiz_obj, 're-dispell from wrong wizard croaks');
+is($res, undef, 're-dispell from wrong wizard doesn\'t return anything');
+
+$res = eval { dispell $a, undef };
+like($@, $inv_wiz_obj, 're-dispell from undef croaks');
+is($res, undef, 're-dispell from undef doesn\'t return anything');