diff --git a/src/main/kotlin/com/chylex/intellij/disabletaskcontexts/WorkingContextExtensionChangeListener.kt b/src/main/kotlin/com/chylex/intellij/disabletaskcontexts/WorkingContextExtensionChangeListener.kt
index ac8181d..4fe2c04 100644
--- a/src/main/kotlin/com/chylex/intellij/disabletaskcontexts/WorkingContextExtensionChangeListener.kt
+++ b/src/main/kotlin/com/chylex/intellij/disabletaskcontexts/WorkingContextExtensionChangeListener.kt
@@ -1,24 +1,24 @@
 package com.chylex.intellij.disabletaskcontexts
 
 import com.intellij.openapi.diagnostic.Logger
-import com.intellij.openapi.extensions.impl.ExtensionComponentAdapter
 import com.intellij.tasks.context.WorkingContextProvider
 
-@Suppress("UnstableApiUsage")
 object WorkingContextExtensionChangeListener : Runnable {
 	private val logger = Logger.getInstance("DisableTaskContextsPlugin")
-	private val unregisterAllPredicate: (String, ExtensionComponentAdapter) -> Boolean = { _, _ -> false }
-	
 	private var isRunning = false
 	
 	override fun run() {
 		if (!isRunning && WorkingContextProvider.EP_NAME.hasAnyExtensions()) {
 			isRunning = true
 			
+			val point = WorkingContextProvider.EP_NAME.point
+			
 			try {
-				WorkingContextProvider.EP_NAME.point.unregisterExtensions(unregisterAllPredicate, false)
+				for (extension in point.extensions) {
+					point.unregisterExtension(extension.javaClass)
+				}
 				
-				if (!WorkingContextProvider.EP_NAME.hasAnyExtensions()) {
+				if (point.size() == 0) {
 					logger.info("Unregistered task context providers.")
 				}
 				else {