diff --git a/pkg/kubecfg/param.go b/pkg/kubecfg/param.go
index dba979f3d347ecc92c0c478dd07df5276a5d9596..a55639feef296741f6ff1ca92b3ed256fd9b7def 100644
--- a/pkg/kubecfg/param.go
+++ b/pkg/kubecfg/param.go
@@ -94,10 +94,6 @@ func (c *ParamSetCmd) Run() error {
 // sanitizeParamValue does a best effort to identify value types. It will put
 // quotes around values which it categorizes as strings.
 func sanitizeParamValue(value string) string {
-	// boolean
-	if value == "true" || value == "false" {
-		return value
-	}
 	// numeric
 	if _, err := strconv.ParseFloat(value, 64); err == nil {
 		return value
diff --git a/pkg/kubecfg/param_test.go b/pkg/kubecfg/param_test.go
index d3425bc1e1ff2d483865f3dacddc5bd1fec688c7..fb4bf2d742dd563df35c459065ff75584a4cc352 100644
--- a/pkg/kubecfg/param_test.go
+++ b/pkg/kubecfg/param_test.go
@@ -82,3 +82,35 @@ func TestDiffParams(t *testing.T) {
 		}
 	}
 }
+
+func TestSanitizeParamValue(t *testing.T) {
+	tests := []struct {
+		value    string
+		expected string
+	}{
+		// numbers
+		{
+			value:    "64.5",
+			expected: "64.5",
+		},
+		{
+			value:    "64",
+			expected: "64",
+		},
+		// boolean
+		{
+			value:    "false",
+			expected: `"false"`,
+		},
+		// string
+		{
+			value:    "my string",
+			expected: `"my string"`,
+		},
+	}
+
+	for _, te := range tests {
+		got := sanitizeParamValue(te.value)
+		require.Equal(t, got, te.expected, "Unexpected sanitized param value")
+	}
+}