diff --git a/gopls/internal/regtest/misc/call_hierarchy_test.go b/gopls/internal/regtest/misc/call_hierarchy_test.go
new file mode 100644
index 0000000..9d98896
--- /dev/null
+++ b/gopls/internal/regtest/misc/call_hierarchy_test.go
@@ -0,0 +1,35 @@
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+package misc
+
+import (
+	"testing"
+
+	"golang.org/x/tools/internal/lsp/protocol"
+	. "golang.org/x/tools/internal/lsp/regtest"
+)
+
+// Test for golang/go#49125
+func TestCallHierarchy_Issue49125(t *testing.T) {
+	const files = `
+-- go.mod --
+module mod.com
+
+go 1.12
+-- p.go --
+package pkg
+`
+	// TODO(rfindley): this could probably just be a marker test.
+	Run(t, files, func(t *testing.T, env *Env) {
+		env.OpenFile("p.go")
+		pos := env.RegexpSearch("p.go", "pkg")
+
+		var params protocol.CallHierarchyPrepareParams
+		params.TextDocument.URI = env.Sandbox.Workdir.URI("p.go")
+		params.Position = pos.ToProtocolPosition()
+
+		// Check that this doesn't panic.
+		env.Editor.Server.PrepareCallHierarchy(env.Ctx, &params)
+	})
+}
diff --git a/internal/lsp/source/call_hierarchy.go b/internal/lsp/source/call_hierarchy.go
index 26ef07e..991c30a 100644
--- a/internal/lsp/source/call_hierarchy.go
+++ b/internal/lsp/source/call_hierarchy.go
@@ -32,8 +32,9 @@
 		}
 		return nil, err
 	}
+
 	// The identifier can be nil if it is an import spec.
-	if identifier == nil {
+	if identifier == nil || identifier.Declaration.obj == nil {
 		return nil, nil
 	}
 
