diff --git a/BizHawk.Client.EmuHawk/tools/Debugger/BreakpointControl.cs b/BizHawk.Client.EmuHawk/tools/Debugger/BreakpointControl.cs
index 310e03e144..62e570200c 100644
--- a/BizHawk.Client.EmuHawk/tools/Debugger/BreakpointControl.cs
+++ b/BizHawk.Client.EmuHawk/tools/Debugger/BreakpointControl.cs
@@ -86,11 +86,35 @@ namespace BizHawk.Client.EmuHawk.tools.Debugger
 		{
 			if (Enabled)
 			{
+				CheckForNewBreakpoints();
+
 				BreakpointView.ItemCount = Breakpoints.Count;
 				UpdateStatsLabel();
 			}
 		}
 
+		/// <summary>
+		/// Did any breakpoints get added from other sources such as lua?
+		/// </summary>
+		private void CheckForNewBreakpoints()
+		{
+			if (MCS != null)
+			{
+				foreach (var callback in MCS)
+				{
+					if (!Breakpoints.Any(b => 
+						b.Type == callback.Type &&
+						b.Address == callback.Address &&
+						b.Name == callback.Name &&
+						b.Callback == callback.Callback
+						))
+					{
+						Breakpoints.Add(new Breakpoint(Core, callback));
+					}
+				}
+			}
+		}
+
 		public void GenerateUI()
 		{
 			if (MCS != null)
diff --git a/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.IToolForm.cs b/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.IToolForm.cs
index 0989e5b1d0..af4dab0f98 100644
--- a/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.IToolForm.cs
+++ b/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.IToolForm.cs
@@ -143,7 +143,7 @@ namespace BizHawk.Client.EmuHawk
 		{
 			RegisterPanel.UpdateValues();
 			UpdateDisassembler();
-			// TODO: check for new breakpoints and add them to the Breakpoint list?
+			BreakPointControl1.UpdateValues();
 		}
 
 		public void FastUpdate()