diff --git a/cmd/podman/images/scp.go b/cmd/podman/images/scp.go
index 18899d2515..409dd70718 100644
--- a/cmd/podman/images/scp.go
+++ b/cmd/podman/images/scp.go
@@ -15,8 +15,7 @@ var (
 	imageScpCommand    = &cobra.Command{
 		Use: "scp [options] IMAGE [HOST::]",
 		Annotations: map[string]string{
-			registry.UnshareNSRequired: "",
-			registry.ParentNSRequired:  "",
+			registry.ParentNSRequired: "",
 		},
 		Long:              saveScpDescription,
 		Short:             "securely copy images",
diff --git a/cmd/podman/main.go b/cmd/podman/main.go
index a820967f93..6110e77fcc 100644
--- a/cmd/podman/main.go
+++ b/cmd/podman/main.go
@@ -76,18 +76,11 @@ func parseCommands() *cobra.Command {
 		// Command cannot be run rootless
 		_, found := c.Command.Annotations[registry.UnshareNSRequired]
 		if found {
-			if rootless.IsRootless() && os.Getuid() != 0 && c.Command.Name() != "scp" {
+			if rootless.IsRootless() && os.Getuid() != 0 {
 				c.Command.RunE = func(cmd *cobra.Command, args []string) error {
 					return fmt.Errorf("cannot run command %q in rootless mode, must execute `podman unshare` first", cmd.CommandPath())
 				}
 			}
-		} else {
-			_, found = c.Command.Annotations[registry.ParentNSRequired]
-			if rootless.IsRootless() && found && c.Command.Name() != "scp" {
-				c.Command.RunE = func(cmd *cobra.Command, args []string) error {
-					return fmt.Errorf("cannot run command %q in rootless mode", cmd.CommandPath())
-				}
-			}
 		}
 		addCommand(c)
 	}
diff --git a/cmd/podman/registry/config.go b/cmd/podman/registry/config.go
index 3e5920c098..21988b421e 100644
--- a/cmd/podman/registry/config.go
+++ b/cmd/podman/registry/config.go
@@ -17,7 +17,7 @@ const (
 	// NoMoveProcess used as cobra.Annotation when command doesn't need Podman to be moved to a separate cgroup
 	NoMoveProcess = "NoMoveProcess"
 
-	// ParentNSRequired used as cobra.Annotation when command requires root access
+	// ParentNSRequired used as cobra.Annotation when a command should not be run in the podman rootless user namespace, also requires updates in `pkg/rootless/rootless_linux.c` in function `can_use_shortcut()` to exclude the command name there.
 	ParentNSRequired = "ParentNSRequired"
 
 	// UnshareNSRequired used as cobra.Annotation when command requires modified user namespace
diff --git a/cmd/podman/system/version.go b/cmd/podman/system/version.go
index 33ab0f757e..28bae1d55e 100644
--- a/cmd/podman/system/version.go
+++ b/cmd/podman/system/version.go
@@ -22,6 +22,9 @@ var (
 		Short:             "Display the Podman version information",
 		RunE:              version,
 		ValidArgsFunction: completion.AutocompleteNone,
+		Annotations: map[string]string{
+			registry.ParentNSRequired: "",
+		},
 	}
 	versionFormat string
 )
diff --git a/pkg/rootless/rootless_linux.c b/pkg/rootless/rootless_linux.c
index 7e8b3f78a6..d4273185a0 100644
--- a/pkg/rootless/rootless_linux.c
+++ b/pkg/rootless/rootless_linux.c
@@ -386,6 +386,7 @@ can_use_shortcut (char **argv)
 
       if (strcmp (argv[argc], "mount") == 0
           || strcmp (argv[argc], "machine") == 0
+          || strcmp (argv[argc], "version") == 0
           || strcmp (argv[argc], "context") == 0
           || strcmp (argv[argc], "search") == 0
           || (strcmp (argv[argc], "system") == 0 && argv[argc+1] && strcmp (argv[argc+1], "service") != 0))