diff --git a/storage/kubernetes/storage.go b/storage/kubernetes/storage.go
index fa72e717da6d0687546bc6532599416868dd76f1..86f3f209320292f797e9b95b8da7d026187ad6d9 100644
--- a/storage/kubernetes/storage.go
+++ b/storage/kubernetes/storage.go
@@ -148,6 +148,14 @@ func (cli *client) registerCustomResources(useTPR bool) (ok bool) {
 			resourceName = r.ObjectMeta.Name
 		} else {
 			r := customResourceDefinitions[i]
+			var i interface{}
+			cli.logger.Infof("checking if custom resource %s has been created already...", r.ObjectMeta.Name)
+			if err := cli.list(r.Spec.Names.Plural, &i); err == nil {
+				cli.logger.Infof("The custom resource %s already available, skipping create", r.ObjectMeta.Name)
+				continue
+			} else {
+				cli.logger.Infof("failed to list custom resource %s, attempting to create: %v", r.ObjectMeta.Name, err)
+			}
 			err = cli.postResource("apiextensions.k8s.io/v1beta1", "", "customresourcedefinitions", r)
 			resourceName = r.ObjectMeta.Name
 		}