diff --git a/pkg/analysis_server/lib/src/services/refactoring/inline_method.dart b/pkg/analysis_server/lib/src/services/refactoring/inline_method.dart
index f3e4b67..1f66fe6 100644
--- a/pkg/analysis_server/lib/src/services/refactoring/inline_method.dart
+++ b/pkg/analysis_server/lib/src/services/refactoring/inline_method.dart
@@ -147,13 +147,15 @@
   // local variables and functions
   {
     var localsRange = _getLocalsConflictingRange(node);
-    var enclosingExecutable = getEnclosingExecutableNode(node)!;
-    var visibleRangeMap = VisibleRangesComputer.forNode(enclosingExecutable);
-    visibleRangeMap.forEach((element, elementRange) {
-      if (elementRange.intersects(localsRange)) {
-        result.add(element.displayName);
-      }
-    });
+    var enclosingExecutable = getEnclosingExecutableNode(node);
+    if (enclosingExecutable != null) {
+      var visibleRangeMap = VisibleRangesComputer.forNode(enclosingExecutable);
+      visibleRangeMap.forEach((element, elementRange) {
+        if (elementRange.intersects(localsRange)) {
+          result.add(element.displayName);
+        }
+      });
+    }
   }
   // fields
   {
diff --git a/pkg/analysis_server/test/services/refactoring/inline_method_test.dart b/pkg/analysis_server/test/services/refactoring/inline_method_test.dart
index 4a0f551..35d678c 100644
--- a/pkg/analysis_server/test/services/refactoring/inline_method_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/inline_method_test.dart
@@ -1739,6 +1739,17 @@
 ''');
   }
 
+  Future<void> test_target_topLevelVariable() async {
+    await indexTestUnit(r'''
+int get test => 42;
+var a = test;
+''');
+    _createRefactoring('test =>');
+    return _assertSuccessfulRefactoring(r'''
+var a = 42;
+''');
+  }
+
   Future _assertConditionsError(String message) async {
     var status = await refactoring.checkAllConditions();
     assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR,
