How to reproduce: public partial class RadForm1 : Telerik.WinControls.UI.RadForm { public RadForm1() { InitializeComponent(); this.radScheduler1.MouseMove += RadScheduler1_MouseMove; this.radScheduler1.GroupType = GroupType.Resource; Appointment appointment = new Appointment(DateTime.Today.AddHours(13), TimeSpan.FromHours(1), "Test Appointment"); this.radScheduler1.Appointments.Add(appointment); } private void RadScheduler1_MouseMove(object sender, MouseEventArgs e) { Point pt = this.radScheduler1.PointToClient(Cursor.Position); SchedulerCellElement cell = this.radScheduler1.SchedulerElement.ElementTree.GetElementAtPoint(pt) as SchedulerCellElement; if (cell != null) { if (cell.Date != null) { Console.WriteLine(cell.Date.ToShortTimeString()); } } } private void button1_Click(object sender, EventArgs e) { switch (this.radScheduler1.ActiveViewType) { // showing the Day View case SchedulerViewType.Day: var theDayView = this.radScheduler1.GetDayView(); if (theDayView != null) { RulerPrimitive ruler = (this.radScheduler1.SchedulerElement.ViewElement as SchedulerDayViewElement).DataAreaElement.Ruler; ruler.RangeFactor = ScaleRange.QuarterHour; ruler.StartScale = 8; ruler.EndScale = 18; } break; } } } Workaround: instead of accessing directly the ruler, apply the scaling on the view element private void button2_Click(object sender, EventArgs e) { switch (this.radScheduler1.ActiveViewType) { // showing the Day View case SchedulerViewType.Day: var theDayView = this.radScheduler1.GetDayView(); if (theDayView != null) { theDayView.RangeFactor = ScaleRange.QuarterHour; theDayView.RulerStartScale = 8; theDayView.RulerEndScale = 18; } break; } }