diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/fieldassist/FieldAssist.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/fieldassist/FieldAssist.java
index 38c82895ddf693d78fee522be825fc4ecd03fefa..bb45b2b0e9a73d003df9011f5dca8dd731f6b1a2 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/fieldassist/FieldAssist.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/fieldassist/FieldAssist.java
@@ -52,7 +52,10 @@ public class FieldAssist {
 	 * ProposalProvider wrapper class that takes care of proper insertion. This
 	 * is intended to be transparent to the implementor.
 	 */
-	private final AF3ContentProposalProvider provider;
+	private AF3ContentProposalProvider provider;
+
+	/** Stores the {@link ContentProposalAdapter}. */
+	private ContentProposalAdapter adapter;
 
 	/**
 	 * Constructor.
@@ -66,9 +69,8 @@ public class FieldAssist {
 	/** Initializes the FieldAssist object. */
 	private void initialize() {
 		provider.setFiltering(true);
-		ContentProposalAdapter adapter = new ContentProposalAdapter(field,
-				new TextContentAdapter(), provider,
-				concreteProvider.getKeystroke(),
+		adapter = new ContentProposalAdapter(field, new TextContentAdapter(),
+				provider, concreteProvider.getKeystroke(),
 				concreteProvider.getAutoActivationChars());
 		adapter.setPropagateKeys(true);
 		adapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE);
@@ -113,6 +115,17 @@ public class FieldAssist {
 
 			}
 		});
+
+	}
+
+	/**
+	 * Sets a new proposal provider. Useful if the {@link FieldAssist} object is
+	 * not disposed as its enclosing text field is not disposed.
+	 */
+	public void setProposalProvider(IProposalProvider proposalProvider) {
+		this.provider = new AF3ContentProposalProvider(proposalProvider);
+		provider.setFiltering(true);
+		adapter.setContentProposalProvider(provider);
 	}
 
 	/**