diff --git a/cli/cli_test.go b/cli/cli_test.go
index f8518220f6d..0a8ed8a7087 100644
--- a/cli/cli_test.go
+++ b/cli/cli_test.go
@@ -312,7 +312,7 @@ func TestCompileCommandsIntegration(t *testing.T) {
 	// Build sketch without FQBN
 	exitCode, d = executeWithArgs("compile", sketchPath)
 	require.NotZero(t, exitCode)
-	require.Contains(t, string(d), "required flag(s) \"fqbn\" not set")
+	require.Contains(t, string(d), "no FQBN provided")
 
 	// Build sketch for arduino:avr:uno
 	exitCode, d = executeWithArgs("compile", "-b", "arduino:avr:uno", sketchPath)
diff --git a/cli/compile/compile.go b/cli/compile/compile.go
index 619b0212fa1..2ec11914a8c 100644
--- a/cli/compile/compile.go
+++ b/cli/compile/compile.go
@@ -78,8 +78,6 @@ func NewCommand() *cobra.Command {
 	command.Flags().BoolVarP(&verify, "verify", "t", false, "Verify uploaded binary after the upload.")
 	command.Flags().StringVar(&vidPid, "vid-pid", "", "When specified, VID/PID specific build properties are used, if boards supports them.")
 
-	command.MarkFlagRequired("fqbn")
-
 	return command
 }
 
diff --git a/cli/upload/upload.go b/cli/upload/upload.go
index 9b2018212d5..c9b2300b665 100644
--- a/cli/upload/upload.go
+++ b/cli/upload/upload.go
@@ -54,7 +54,6 @@ func NewCommand() *cobra.Command {
 	uploadCommand.Flags().BoolVarP(&verify, "verify", "t", false, "Verify uploaded binary after the upload.")
 	uploadCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, "Optional, turns on verbose mode.")
 
-	uploadCommand.MarkFlagRequired("fqbn")
 	uploadCommand.MarkFlagRequired("port")
 
 	return uploadCommand