diff --git a/Mac/Lib/FrameWork.py b/Mac/Lib/FrameWork.py
index 2d75965..733e94e 100644
--- a/Mac/Lib/FrameWork.py
+++ b/Mac/Lib/FrameWork.py
@@ -753,13 +753,13 @@
 	def do_resize(self, width, height, window):
 		l, t, r, b = self.wid.GetWindowPort().portRect			# jvr, forGrowIcon
 		self.SetPort()							# jvr
-		InvalRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr
+		InvalWindowRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr
 		window.SizeWindow(width, height, 1)		# changed updateFlag to true jvr
 		self.do_postresize(width, height, window)
 	
 	def do_postresize(self, width, height, window):
 		SetPort(window)
-		InvalRect(window.GetWindowPort().portRect)
+		InvalWindowRect(window.GetWindowPort().portRect)
 	
 	def do_inContent(self, partcode, window, event):
 		#
@@ -853,12 +853,12 @@
 			rect = x0-1, y1-(SCROLLBARWIDTH-1), x1-(SCROLLBARWIDTH-2), y1+1
 			self.barx = NewControl(self.wid, rect, "", 1, vx, 0, 32767, 16, 0)
 			if not self.barx_enabled: self.barx.HiliteControl(255)
-##			InvalRect(rect)
+##			InvalWindowRect(rect)
 		if wanty:
 			rect = x1-(SCROLLBARWIDTH-1), y0-1, x1+1, y1-(SCROLLBARWIDTH-2)
 			self.bary = NewControl(self.wid, rect, "", 1, vy, 0, 32767, 16, 0)
 			if not self.bary_enabled: self.bary.HiliteControl(255)
-##			InvalRect(rect)
+##			InvalWindowRect(rect)
 			
 	def do_postclose(self):
 		self.barx = self.bary = None
@@ -893,11 +893,11 @@
 			self.bary.SizeControl(SCROLLBARWIDTH, (b-t)-(SCROLLBARWIDTH-3))	# jvr
 		if self.barx:
 			self.barx.ShowControl()		# jvr
-			ValidRect((l, b - SCROLLBARWIDTH + 1, r - SCROLLBARWIDTH + 2, b))	# jvr
+			ValidWindowRect((l, b - SCROLLBARWIDTH + 1, r - SCROLLBARWIDTH + 2, b))	# jvr
 		if self.bary:
 			self.bary.ShowControl()		# jvr
-			ValidRect((r - SCROLLBARWIDTH + 1, t, r, b - SCROLLBARWIDTH + 2))	# jvr
-		InvalRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr, growicon
+			ValidWindowRect((r - SCROLLBARWIDTH + 1, t, r, b - SCROLLBARWIDTH + 2))	# jvr
+		InvalWindowRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr, growicon
 
 			
 	def do_rawcontrolhit(self, window, control, pcode, local, event):
diff --git a/Mac/Lib/test/tscrollwin.py b/Mac/Lib/test/tscrollwin.py
index 40e9d67..d91f6b9 100644
--- a/Mac/Lib/test/tscrollwin.py
+++ b/Mac/Lib/test/tscrollwin.py
@@ -47,7 +47,7 @@
 				self.vy = value
 			else:
 				self.vy = self.vy + delta
-		Win.InvalRect(self.ourrect)
+		Win.InvalWindowRect(self.ourrect)
 
 	def do_update(self, wid, event):
 		Qd.EraseRect(self.ourrect)
