diff --git a/src/pd.tk b/src/pd.tk
index 50aed4528eba044afcb8fef730874ec21c7379e1..15501e5b06aab7d9d1a0ab77be536591de01c850 100644
--- a/src/pd.tk
+++ b/src/pd.tk
@@ -3514,10 +3514,16 @@ proc pdtk_canvas_getscroll {name} {
 			if {$winwidth >= $canvaswidth} {
 				pack forget $parentname.scrollhort
 				set ::xscrollable($parentname) 0
+				update
+				set winwidth [winfo width $parentname.c]
+				set winheight [winfo height $parentname.c]
 			}
 			if {$winheight >= $canvasheight} {
 				pack forget $parentname.scrollvert
 				set ::yscrollable($parentname) 0
+				update
+				set winwidth [winfo width $parentname.c]
+				set winheight [winfo height $parentname.c]
 			}
 			if {$winwidth < $canvaswidth} {
 				pack $parentname.scrollhort -fill x \