diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go
index ad5b8db1e..cd7fff26c 100644
--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -957,6 +957,10 @@ func delimit(seq, delimiter interface{}, last ...interface{}) (template.HTML, er
 
 // sortSeq returns a sorted sequence.
 func sortSeq(seq interface{}, args ...interface{}) (interface{}, error) {
+	if seq == nil {
+		return nil, errors.New("sequence must be provided")
+	}
+
 	seqv := reflect.ValueOf(seq)
 	seqv, isNil := indirect(seqv)
 	if isNil {
diff --git a/tpl/template_funcs_test.go b/tpl/template_funcs_test.go
index 4b49da41b..eb5464c02 100644
--- a/tpl/template_funcs_test.go
+++ b/tpl/template_funcs_test.go
@@ -1565,6 +1565,7 @@ func TestSort(t *testing.T) {
 			"asc",
 			false,
 		},
+		{nil, nil, "asc", false},
 	} {
 		var result interface{}
 		var err error