diff --git a/pkg/kube/namespace.go b/pkg/kube/namespace.go
index 81784c95c46a3f2fab278f22840c6f8011fc805d..7d18d79135e8253eaaf6d92ee2d7ec6236994ada 100644
--- a/pkg/kube/namespace.go
+++ b/pkg/kube/namespace.go
@@ -32,10 +32,19 @@ func createNamespace(client internalclientset.Interface, namespace string) error
 	return err
 }
 
+func getNamespace(client internalclientset.Interface, namespace string) (*api.Namespace, error) {
+	return client.Core().Namespaces().Get(namespace)
+}
+
 func ensureNamespace(client internalclientset.Interface, namespace string) error {
-	err := createNamespace(client, namespace)
-	if err != nil && !errors.IsAlreadyExists(err) {
-		return err
+	if _, getError := getNamespace(client, namespace); getError != nil && errors.IsNotFound(getError) {
+		createError := createNamespace(client, namespace)
+		if createError != nil {
+			return createError
+		}
+	} else if getError != nil {
+		return getError
 	}
+
 	return nil
 }