diff --git a/src/cmd/dist/buildruntime.go b/src/cmd/dist/buildruntime.go
index e66a9f0..6d88046 100644
--- a/src/cmd/dist/buildruntime.go
+++ b/src/cmd/dist/buildruntime.go
@@ -7,8 +7,6 @@
 import (
 	"bytes"
 	"fmt"
-	"os"
-	"strings"
 )
 
 /*
@@ -19,15 +17,12 @@
 //
 //	package sys
 //
-//	const StackGuardMultiplier = <multiplier value>
+// (Nothing right now!)
 func mkzversion(dir, file string) {
 	var buf bytes.Buffer
 	fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n")
 	fmt.Fprintln(&buf)
 	fmt.Fprintf(&buf, "package sys\n")
-	fmt.Fprintln(&buf)
-	fmt.Fprintf(&buf, "const StackGuardMultiplierDefault = %d\n", stackGuardMultiplierDefault())
-
 	writefile(buf.String(), file, writeSkipSame)
 }
 
@@ -78,26 +73,12 @@
 //
 //	package objabi
 //
-//	const stackGuardMultiplierDefault = <multiplier value>
+// (Nothing right now!)
 func mkobjabi(file string) {
 	var buf bytes.Buffer
 	fmt.Fprintf(&buf, "// Code generated by go tool dist; DO NOT EDIT.\n")
 	fmt.Fprintln(&buf)
 	fmt.Fprintf(&buf, "package objabi\n")
-	fmt.Fprintln(&buf)
-	fmt.Fprintf(&buf, "const stackGuardMultiplierDefault = %d\n", stackGuardMultiplierDefault())
 
 	writefile(buf.String(), file, writeSkipSame)
 }
-
-// stackGuardMultiplierDefault returns a multiplier to apply to the default
-// stack guard size. Larger multipliers are used for non-optimized
-// builds that have larger stack frames.
-func stackGuardMultiplierDefault() int {
-	for _, s := range strings.Split(os.Getenv("GO_GCFLAGS"), " ") {
-		if s == "-N" {
-			return 2
-		}
-	}
-	return 1
-}
diff --git a/src/cmd/internal/objabi/stack.go b/src/cmd/internal/objabi/stack.go
index 0c82a7c..80bd1c0 100644
--- a/src/cmd/internal/objabi/stack.go
+++ b/src/cmd/internal/objabi/stack.go
@@ -27,5 +27,5 @@
 	if buildcfg.GOOS == "aix" {
 		return 2
 	}
-	return stackGuardMultiplierDefault
+	return 1
 }
diff --git a/src/runtime/internal/sys/consts.go b/src/runtime/internal/sys/consts.go
index fffcf81..c603716 100644
--- a/src/runtime/internal/sys/consts.go
+++ b/src/runtime/internal/sys/consts.go
@@ -10,7 +10,7 @@
 )
 
 // AIX requires a larger stack for syscalls.
-const StackGuardMultiplier = StackGuardMultiplierDefault*(1-goos.IsAix) + 2*goos.IsAix
+const StackGuardMultiplier = 1*(1-goos.IsAix) + 2*goos.IsAix
 
 // DefaultPhysPageSize is the default physical page size.
 const DefaultPhysPageSize = goarch.DefaultPhysPageSize
