Problemas com o JInternalFrame

Olá a todos,
Estou desenvolvendo um sistema para um hotel, e até agora sem nenhum misterio, incljusive, o desenvolvimento tem corrido bem. Estou usando JInternalFrame para compor minha telas, e preciso em algumas delas chamar uma tela de busca, tentei usar outro JInternalFrame, adicionando ele no DescktopPane da tela principal, e não funcionou 100% comigo, além de eu não conseguir controlar quantas vezes o usuário pode abrir ele, os JTextField da tela “pai” que tinhas que ser preenchidos não são. Então usei um JFrame mesmo, e funcionou normal, mesmo que não da forma mais elegante possível. O problema é que após abrir esse JFrame da tela de busca, o sistema para de abrir telas do JInternalFrame, meu sistema para completamente e sou obrigado a fecha-lo.
Como posso resolver isso? Será que usar o JInternalFrame para a tela de pesquisa é a melhor saida?
Segue o código que uso para chamar a tela:

if (evt.getKeyCode() == KeyEvent.VK_F4) {
            if (frm_busca_cliente.instance == null) {
                frm_busca_cliente.instance = new frm_busca_cliente(this);
                frm_busca_cliente.instance.setVisible(true);
            } else {
                frm_busca_cliente.instance.setVisible(true);
                frm_busca_cliente.instance.setExtendedState(JFrame.NORMAL);
            }
        }

Se precisarem de outros códigos, só me avisarem.
Desde já, agradeço.