diff --git a/src/Markup/Perspex.Markup/ControlLocator.cs b/src/Markup/Perspex.Markup/ControlLocator.cs
index 4887de8a15..730c4d24f9 100644
--- a/src/Markup/Perspex.Markup/ControlLocator.cs
+++ b/src/Markup/Perspex.Markup/ControlLocator.cs
@@ -22,15 +22,15 @@ namespace Perspex.Markup
/// The name of the control to find.
public static IObservable Track(IControl relativeTo, string name)
{
- var attached = Observable.FromEventPattern(
- x => relativeTo.AttachedToVisualTree += x,
- x => relativeTo.DetachedFromVisualTree += x)
+ var attached = Observable.FromEventPattern(
+ x => relativeTo.AttachedToLogicalTree += x,
+ x => relativeTo.DetachedFromLogicalTree += x)
.Select(x => ((IControl)x.Sender).FindNameScope())
.StartWith(relativeTo.FindNameScope());
- var detached = Observable.FromEventPattern(
- x => relativeTo.DetachedFromVisualTree += x,
- x => relativeTo.DetachedFromVisualTree += x)
+ var detached = Observable.FromEventPattern(
+ x => relativeTo.DetachedFromLogicalTree += x,
+ x => relativeTo.DetachedFromLogicalTree += x)
.Select(x => (INameScope)null);
return attached.Merge(detached).Select(nameScope =>