diff --git a/libpod/container_internal_common.go b/libpod/container_internal_common.go
index 7dfceac8a6..87794eeba7 100644
--- a/libpod/container_internal_common.go
+++ b/libpod/container_internal_common.go
@@ -65,6 +65,10 @@ func parseOptionIDs(ctrMappings []idtools.IDMap, option string) ([]idtools.IDMap
 	for i, m := range ranges {
 		var v idtools.IDMap
 
+		if m == "" {
+			return nil, fmt.Errorf("invalid empty range for %q", option)
+		}
+
 		relative := false
 		if m[0] == '@' {
 			relative = true
diff --git a/libpod/container_internal_test.go b/libpod/container_internal_test.go
index 1c096d1d16..4fb95e95e4 100644
--- a/libpod/container_internal_test.go
+++ b/libpod/container_internal_test.go
@@ -70,6 +70,9 @@ func TestParseOptionIDs(t *testing.T) {
 
 	_, err = parseOptionIDs(idMap, "@10000-20000-2")
 	assert.NotNil(t, err)
+
+	_, err = parseOptionIDs(idMap, "100-200-3###400-500-6")
+	assert.NotNil(t, err)
 }
 
 func TestParseIDMapMountOption(t *testing.T) {