diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
index b522bce..acaa4a8 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/AbstractConfiguredTarget.java
@@ -149,15 +149,7 @@
           "Type Target only supports querying by object constructors, got %s instead",
           EvalUtils.getDataTypeName(key)));
     }
-    ClassObjectConstructor constructor = (ClassObjectConstructor) key;
-    SkylarkProviders provider = getProvider(SkylarkProviders.class);
-    if (provider != null) {
-      Object declaredProvider = provider.getDeclaredProvider(constructor.getKey());
-      if (declaredProvider != null) {
-        return true;
-      }
-    }
-    return false;
+    return get(((ClassObjectConstructor) key).getKey()) != null;
   }
 
   @Override
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
index 0d4f74f..8c4be30 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java
@@ -867,6 +867,7 @@
         "def _impl(ctx):",
         "    provider = ctx.attr.deps[0][DefaultInfo]",
         "    return struct(",
+        "        is_provided = DefaultInfo in ctx.attr.deps[0],",
         "        provider = provider,",
         "        dir = str(sorted(dir(provider))),",
         "        rule_data_runfiles = provider.data_runfiles,",
@@ -889,6 +890,8 @@
     ConfiguredTarget configuredTarget = getConfiguredTarget("//test:my_rule");
     SkylarkProviders providers = configuredTarget.getProvider(SkylarkProviders.class);
 
+    assertThat((Boolean) providers.getValue("is_provided")).isTrue();
+
     Object provider = providers.getValue("provider");
     assertThat(provider).isInstanceOf(DefaultProvider.class);
     assertThat(((DefaultProvider) provider).getConstructor().getPrintableName())
@@ -925,6 +928,7 @@
         "def _impl(ctx):",
         "    provider = ctx.attr.deps[0][DefaultInfo]",
         "    return struct(",
+        "        is_provided = DefaultInfo in ctx.attr.deps[0],",
         "        provider = provider,",
         "        dir = str(sorted(dir(provider))),",
         "        file_data_runfiles = provider.data_runfiles,",
@@ -945,6 +949,8 @@
     ConfiguredTarget configuredTarget = getConfiguredTarget("//test:my_rule");
     SkylarkProviders providers = configuredTarget.getProvider(SkylarkProviders.class);
 
+    assertThat((Boolean) providers.getValue("is_provided")).isTrue();
+
     Object provider = providers.getValue("provider");
     assertThat(provider).isInstanceOf(DefaultProvider.class);
     assertThat(((DefaultProvider) provider).getConstructor().getPrintableName())
