diff --git a/pkg/policy/validate.go b/pkg/policy/validate.go
index d45a32fce1..bc378d14de 100644
--- a/pkg/policy/validate.go
+++ b/pkg/policy/validate.go
@@ -4,10 +4,11 @@ import (
 	"encoding/json"
 	"errors"
 	"fmt"
-	"github.com/nirmata/kyverno/pkg/kyverno/common"
 	"reflect"
 	"strings"
 
+	"github.com/nirmata/kyverno/pkg/kyverno/common"
+
 	"github.com/minio/minio/pkg/wildcard"
 
 	"github.com/nirmata/kyverno/pkg/openapi"
@@ -289,6 +290,11 @@ func doesMatchAndExcludeConflict(rule kyverno.Rule) bool {
 		}
 	}
 
+	if (rule.MatchResources.ResourceDescription.Selector == nil && rule.ExcludeResources.ResourceDescription.Selector != nil) ||
+		(rule.MatchResources.ResourceDescription.Selector != nil && rule.ExcludeResources.ResourceDescription.Selector == nil) {
+		return false
+	}
+
 	return true
 }