diff --git a/source/com/intellij/psi/impl/source/tree/CompositeElement.java b/source/com/intellij/psi/impl/source/tree/CompositeElement.java index 3222433a5bc1..9a13de416e55 100644 --- a/source/com/intellij/psi/impl/source/tree/CompositeElement.java +++ b/source/com/intellij/psi/impl/source/tree/CompositeElement.java @@ -356,11 +356,13 @@ public class CompositeElement extends TreeElement implements Cloneable { } public PsiElement getPsi() { - if (myWrapper != null) return myWrapper; - final Language lang = getElementType().getLanguage(); - if (lang != null) { - myWrapper = lang.createElement(this); + synchronized (PsiLock.LOCK) { + if (myWrapper != null) return myWrapper; + final Language lang = getElementType().getLanguage(); + if (lang != null) { + myWrapper = lang.createElement(this); + } + return myWrapper; } - return myWrapper; } }