diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.java
index a48a96d..0952659 100644
--- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.java
+++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionScanner.java
@@ -242,6 +242,9 @@
 							return TokenNameDOT;
 						}
 					} else {
+//{ObjectTeams: record the one '.':
+						this._dotSeen = 2; // now
+// SH}
 						this.currentPosition = temp;
 						return TokenNameDOT;
 					}
@@ -267,8 +270,13 @@
 							return TokenNameARROW;
   :giro */
 						if (getNextChar('>')) {
-							if (this._isOTSource)
-								this._calloutSeen = true;
+							if (this._isOTSource) {
+								this._calloutSeen = true; // TODO distinguish from ARROW?
+								if (this._insideParameterMapping) {
+									this._bindoutLookahead = new BindoutLookahead();
+									return this._bindoutLookahead.getNextToken();
+								}
+							}
 							return TokenNameARROW;
 						}
 // Markus Witte}
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java
index 8743de4..fa4c9b8 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Scanner.java
@@ -105,16 +105,16 @@
 	public boolean _precedenceSeen = false;
 
     // after a '.' even 'team' can be an identifier:
-    private int _dotSeen = 0; // 0: no, 1: previos, 2: this token
+    protected int _dotSeen = 0; // 0: no, 1: previos, 2: this token
 
     public boolean _insideParameterMapping = false;
     enum LookaheadState { INIT, ONE_TOKEN, ID_SEEN, TWO_TOKENS, ID_CONSUMED }
     /** 
      * A little state machine for lookahead of up-to 2 tokens.
      * This is used to disambiguate whether a '->' inside parameter mappings is
-     * an ARRAW (lambda) or a SYNTHBINDOUT (parameter mapping role-to-base) 
+     * an ARROW (lambda) or a SYNTHBINDOUT (parameter mapping role-to-base) 
      */
-    class BindoutLookahead {
+    protected class BindoutLookahead {
     	
     	LookaheadState state = LookaheadState.INIT;
     	int[] tokens = new int[2];
@@ -175,7 +175,7 @@
 			return this.tokens[i];
 		}
     }
-    BindoutLookahead _bindoutLookahead = null;
+    protected BindoutLookahead _bindoutLookahead = null;
 
     public void resetOTFlags() {
     	this._isOTSource = this.parseOTJonly;
