diff --git a/commands/upload/upload.go b/commands/upload/upload.go
index e99a3a1514d..435669af09d 100644
--- a/commands/upload/upload.go
+++ b/commands/upload/upload.go
@@ -195,7 +195,7 @@ func runProgramAction(pme *packagemanager.Explorer,
 	if burnBootloader && programmerID == "" {
 		return &arduino.MissingProgrammerError{}
 	}
-	if port == nil {
+	if port == nil || (port.Address == "" && port.Protocol == "") {
 		// For no-port uploads use "default" protocol
 		port = &rpc.Port{Protocol: "default"}
 	}