- // if there is an inset at cursor, access this
- Inset * inset = cur.nextInset();
- if (inset) {
- inset->showInsetDialog(bv);
+ Inset & inset = cur.inset();
+ if (cmd.getArg(0) == insetName(inset.lyxCode())) {
+ // This inset dialog has been explicitely requested.
+ inset.showInsetDialog(bv);
+ break;
+ }
+ // else, if there is an inset at the cursor, access this
+ Inset * next_inset = cur.nextInset();
+ if (next_inset) {
+ next_inset->showInsetDialog(bv);