diff --git a/VERSION b/VERSION
index 682753f..d0db356 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.2.4-dev284
+2.2.4-dev285
diff --git a/internal/pkg/core/openonu.go b/internal/pkg/core/openonu.go
index 0069794..3c2b127 100755
--- a/internal/pkg/core/openonu.go
+++ b/internal/pkg/core/openonu.go
@@ -22,6 +22,7 @@
 	"errors"
 	"fmt"
 	"hash/fnv"
+	"strings"
 	"sync"
 	"time"
 
@@ -412,6 +413,9 @@
 func (oo *OpenONUAC) DownloadImage(ctx context.Context, imageInfo *ca.ImageDownloadMessage) (*voltha.ImageDownload, error) {
 	ctx = log.WithSpanFromContext(context.Background(), ctx)
 	if imageInfo != nil && imageInfo.Image != nil && imageInfo.Image.Name != "" {
+		if strings.Contains(imageInfo.Image.Url, "https:") {
+			return nil, errors.New("image download via https not supported")
+		}
 		if !oo.pDownloadManager.ImageExists(ctx, imageInfo.Image) {
 			logger.Debugw(ctx, "start image download", log.Fields{"image-description": imageInfo.Image})
 			// Download_image is not supposed to be blocking, anyway let's call the DownloadManager still synchronously to detect 'fast' problems
@@ -496,6 +500,9 @@
 //   if the image is not yet present on the adapter it has to be automatically downloaded
 func (oo *OpenONUAC) DownloadOnuImage(ctx context.Context, request *voltha.DeviceImageDownloadRequest) (*voltha.DeviceImageResponse, error) {
 	if request != nil && len((*request).DeviceId) > 0 && (*request).Image.Version != "" {
+		if strings.Contains((*request).Image.Url, "https:") {
+			return nil, errors.New("image download via https not supported")
+		}
 		loResponse := voltha.DeviceImageResponse{}
 		imageIdentifier := (*request).Image.Version
 		downloadStartDone := false
