*** empty log message ***
diff --git a/org.eclipse.jdt.core/buildnotes_jdt-core.html b/org.eclipse.jdt.core/buildnotes_jdt-core.html
index b7f6902..fc80751 100644
--- a/org.eclipse.jdt.core/buildnotes_jdt-core.html
+++ b/org.eclipse.jdt.core/buildnotes_jdt-core.html
@@ -17,7 +17,9 @@
 

 <h3>

 Problem Reports Fixed</h3>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9492">9492</a>

+<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9813">9813</a>

+VerifyError with Inner Class having private constructor

+<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9492">9492</a>

 Walkback while searching  

 <br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9837">9837</a>

 Inconsistent behavior when compiling from source or using binaries for constant expressions

diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.java
index 40ea716..f401064 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.java
@@ -62,14 +62,13 @@
 		LocalTypeBinding localType = (LocalTypeBinding) allocatedType;

 		localType.constantPoolName(codeStream.classFile.outerMostEnclosingClassFile().computeConstantPoolName(localType));

 	}

-	if (syntheticAccessor == null) {

-		codeStream.new_(allocatedType);

-		if (valueRequired) {

-			codeStream.dup();

-		}

-		// better highlight for allocation: display the type individually

-		codeStream.recordPositionsFrom(pc, type.sourceStart);

+	codeStream.new_(allocatedType);

+	if (valueRequired) {

+		codeStream.dup();

 	}

+	// better highlight for allocation: display the type individually

+	codeStream.recordPositionsFrom(pc, type.sourceStart);

+

 	// handling innerclass instance allocation

 	if (allocatedType.isNestedType()) { // make sure its name is computed before arguments, since may be necessary for argument emulation

 		codeStream.generateSyntheticArgumentValues(currentScope, allocatedType, enclosingInstance(), this);

@@ -84,7 +83,11 @@
 	if (syntheticAccessor == null) {

 		codeStream.invokespecial(binding);

 	} else {

-		codeStream.invokestatic(syntheticAccessor);

+		// synthetic accessor got some extra arguments appended to its signature, which need values

+		for (int i = 0, max = syntheticAccessor.parameters.length - binding.parameters.length; i < max; i++) {

+			codeStream.aconst_null();

+		}		

+		codeStream.invokespecial(syntheticAccessor);

 	}

 	codeStream.recordPositionsFrom(pc, this.sourceStart);

 	if (anonymousType != null) {