diff --git a/idea/resources/META-INF/plugin-common.xml b/idea/resources/META-INF/plugin-common.xml
index d2dd9536656..dd25f626673 100644
--- a/idea/resources/META-INF/plugin-common.xml
+++ b/idea/resources/META-INF/plugin-common.xml
@@ -149,6 +149,9 @@
+
+
diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/internal/MultiplatformCompositeAnalysisModeToggleAction.kt b/idea/src/org/jetbrains/kotlin/idea/actions/internal/MultiplatformCompositeAnalysisModeToggleAction.kt
new file mode 100644
index 00000000000..b9e2a4d6e05
--- /dev/null
+++ b/idea/src/org/jetbrains/kotlin/idea/actions/internal/MultiplatformCompositeAnalysisModeToggleAction.kt
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.idea.actions.internal
+
+import com.intellij.openapi.actionSystem.AnActionEvent
+import com.intellij.openapi.actionSystem.ToggleAction
+import org.jetbrains.kotlin.idea.project.KotlinMultiplatformAnalysisModeComponent
+import org.jetbrains.kotlin.idea.project.KotlinMultiplatformAnalysisModeComponent.Mode
+import org.jetbrains.kotlin.idea.project.useCompositeAnalysis
+
+class MultiplatformCompositeAnalysisToggleAction :
+ ToggleAction("Toggle composite analysis mode for multiplatform", "Analyse modules with different platforms together", null) {
+
+ override fun isSelected(e: AnActionEvent): Boolean = e.project?.useCompositeAnalysis == true
+
+ override fun setSelected(e: AnActionEvent, state: Boolean) {
+ KotlinMultiplatformAnalysisModeComponent.setMode(
+ e.project ?: return,
+ if (state) Mode.COMPOSITE else Mode.SEPARATE
+ )
+ }
+}
\ No newline at end of file