diff --git a/pd/src/pd.tk b/pd/src/pd.tk
index 81c27df6a6cff9afcd278f6089dae5ea74398529..3f69fd6417c94546f6eb29159dfcc466665e179b 100644
--- a/pd/src/pd.tk
+++ b/pd/src/pd.tk
@@ -3303,11 +3303,11 @@ proc pdtk_canvas_draw_scrollbars {name} {
 		set vx1 [lindex $visible 0]
 		set vx2 [lindex $visible 1]
 		if {$vx2 - $vx1 < 0.99} {
-			set npix [expr int([winfo width $name]-$HSCROLL_PAD_L-$HSCROLL_PAD_R)]
+			set npix [expr int([winfo width $name.c]-$HSCROLL_PAD_L-$HSCROLL_PAD_R)]
 			set width [expr int($npix * ($vx2 -$vx1))]
 			set loffset [expr int($vx1 * $npix)] 
 			set scrollx1 [expr [$name.c canvasx 0] + $HSCROLL_PAD_L + $loffset]
-			set scrolly1 [expr [$name.c canvasy 0] + [winfo height $name] - $SCROLL_PAD_EDGE]
+			set scrolly1 [expr [$name.c canvasy 0] + [winfo height $name.c] - $SCROLL_PAD_EDGE]
 			set scrollx2 [expr $scrollx1 + $width]
 			#puts stderr "$vx1 $vx2 $npix $width $loffset $scrollx1 $scrollx2"
 			set hscroll [$name.c create polyline $scrollx1 $scrolly1 $scrollx2 $scrolly1 -stroke $scrollbar_color -strokewidth $SCROLL_THICKNESS -strokeopacity 0.25 -tags xscroll -strokelinecap round]
@@ -3323,10 +3323,10 @@ proc pdtk_canvas_draw_scrollbars {name} {
 		set vy1 [lindex $visible 0]
 		set vy2 [lindex $visible 1]
 		if {$vy2 - $vy1 < 0.99} {
-			set npix [expr int([winfo height $name]-$VSCROLL_PAD_U-$VSCROLL_PAD_D)]
+			set npix [expr int([winfo height $name.c]-$VSCROLL_PAD_U-$VSCROLL_PAD_D)]
 			set height [expr int($npix * ($vy2 -$vy1))]
 			set toffset [expr int($vy1 * $npix)] 
-			set scrollx1 [expr [$name.c canvasx 0] + [winfo width $name] - $SCROLL_PAD_EDGE]
+			set scrollx1 [expr [$name.c canvasx 0] + [winfo width $name.c] - $SCROLL_PAD_EDGE]
 			set scrolly1 [expr [$name.c canvasy 0] + $VSCROLL_PAD_U +$toffset]
 			set scrolly2 [expr $scrolly1 + $height]
 			#puts stderr "$vy1 $vy2 $npix $height $toffset $scrolly1 $scrolly2"
@@ -3474,7 +3474,7 @@ proc pdtk_canvas_scroll_horizontal_motion {name x y mod} {
 			set vx1 [lindex $visible 0]
 			set vx2 [lindex $visible 1]
 			if {$::scroll_on($name) == 1} {
-				set perpixdelta [expr (1.0)/([winfo width $name]-$HSCROLL_PAD_L-$HSCROLL_PAD_R)]
+				set perpixdelta [expr (1.0)/([winfo width $name.c]-$HSCROLL_PAD_L-$HSCROLL_PAD_R)]
 			} else {
 				set perpixdelta [expr 1.0/$::canvasheight($name)]
 			}