After migrating from 9i to an 11g database, we have been getting the following error in one of our forms:
FRM-92091: unexpected fatal error in client-side Java code
The error occurs when the user commits the data in the form, but not every time. When committing, we usually get an FRM-40400 message as shown below. Only after clicking on the OK button, the data is committed to the database. Now the user gets the Java error instead of the FRM-40400 message, and the application crashes. However, the data seems to have been successfully committed to the database.

When the error occurs, it looks as follows. We don't have our menu or toolbar and there are no items or item groups visible in the form.

Does anyone have an idea of what is causing this error and how we can solve this? Any help would be very much appreciated!
Technical information:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
JRE version 1.6.0_45-b06 Java HotSpot(TM) Client VM
RegisterWebUtil - Loading WebUtil Version 11.1.2.1
Versie van Forms-applet is 11.1.2.1
The Java error stack:
FRM-92091: Onverwachte fatale fout in de Java-code op de client_
Java Exception:__
java.lang.NullPointerException__
at oracle.forms.handler.TextComponentItem.selectionChanged(Unknown Source)__
at oracle.ewt.lwAWT.lwText.LWTextComponent._fireSelectionChanged(Unknown Source)__
at oracle.ewt.lwAWT.lwText.LWTextComponent.select(Unknown Source)__
at oracle.ewt.lwAWT.lwText.LWTextComponent.select(Unknown Source)__
at oracle.ewt.lwAWT.lwText.LWTextComponent.select(Unknown Source)__
at oracle.forms.ui.delegates.VCommonTextDelegate.setProperty(Unknown Source)__
at oracle.forms.ui.delegates.VTextFieldDelegate.setProperty(Unknown Source)__
at oracle.forms.ui.VTextField.setProperty(Unknown Source)__
at oracle.forms.handler.TextComponentItem.onUpdate(Unknown Source)__
at oracle.forms.handler.TextFieldItem.onUpdate(Unknown Source)__
at oracle.forms.handler.UICommon.onUpdate(Unknown Source)__
at oracle.forms.engine.Runform.onUpdateHandler(Unknown Source)__
at oracle.forms.engine.Runform.processMessage(Unknown Source)__
at oracle.forms.engine.Runform.processSet(Unknown Source)__
at oracle.forms.engine.Runform.onMessageReal(Unknown Source)__
at oracle.forms.engine.Runform.onMessage(Unknown Source)__
at oracle.forms.engine.Runform.processEventEnd(Unknown Source)__
at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)__
at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)__
at java.awt.Component.dispatchEventImpl(Unknown Source)__
at java.awt.Container.dispatchEventImpl(Unknown Source)__
at java.awt.Component.dispatchEvent(Unknown Source)__
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)__
at java.awt.EventQueue.access$400(Unknown Source)__
at java.awt.EventQueue$2.run(Unknown Source)__
at java.awt.EventQueue$2.run(Unknown Source)__
at java.security.AccessController.doPrivileged(Native Method)__
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)__
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)__
at java.awt.EventQueue$3.run(Unknown Source)__
at java.awt.EventQueue$3.run(Unknown Source)__
at java.security.AccessController.doPrivileged(Native Method)__
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)__
at java.awt.EventQueue.dispatchEvent(Unknown Source)__
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)__
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)__
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)__
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)__
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)__
at java.awt.EventDispatchThread.run(Unknown Source)_