diff --git a/Lib/lib-tk/ScrolledText.py b/Lib/lib-tk/ScrolledText.py
index 2683696..0261d90 100644
--- a/Lib/lib-tk/ScrolledText.py
+++ b/Lib/lib-tk/ScrolledText.py
@@ -17,14 +17,16 @@
 	def __init__(self, master=None, cnf={}):
 		cnf = _cnfmerge(cnf)
 		fcnf = {}
+		vcnf = {'name': 'vbar',
+			Pack: {'side': 'right', 'fill': 'y'},}
 		for k in cnf.keys():
-			if type(k) == ClassType:
+			if type(k) == ClassType or k == 'name':
 				fcnf[k] = cnf[k]
 				del cnf[k]
 		self.frame = Frame(master, fcnf)
-		self.vbar = Scrollbar(self.frame, {
-			Pack: {'side': 'right', 'fill': 'y'}})
+		self.vbar = Scrollbar(self.frame, vcnf)
 		cnf[Pack] = {'side': 'left', 'fill': 'both', 'expand': 'yes'}
+		cnf['name'] = 'text'
 		Text.__init__(self, self.frame, cnf)
 		self['yscrollcommand'] = (self.vbar, 'set')
 		self.vbar['command'] = (self, 'yview')
diff --git a/Lib/tkinter/ScrolledText.py b/Lib/tkinter/ScrolledText.py
index 2683696..0261d90 100755
--- a/Lib/tkinter/ScrolledText.py
+++ b/Lib/tkinter/ScrolledText.py
@@ -17,14 +17,16 @@
 	def __init__(self, master=None, cnf={}):
 		cnf = _cnfmerge(cnf)
 		fcnf = {}
+		vcnf = {'name': 'vbar',
+			Pack: {'side': 'right', 'fill': 'y'},}
 		for k in cnf.keys():
-			if type(k) == ClassType:
+			if type(k) == ClassType or k == 'name':
 				fcnf[k] = cnf[k]
 				del cnf[k]
 		self.frame = Frame(master, fcnf)
-		self.vbar = Scrollbar(self.frame, {
-			Pack: {'side': 'right', 'fill': 'y'}})
+		self.vbar = Scrollbar(self.frame, vcnf)
 		cnf[Pack] = {'side': 'left', 'fill': 'both', 'expand': 'yes'}
+		cnf['name'] = 'text'
 		Text.__init__(self, self.frame, cnf)
 		self['yscrollcommand'] = (self.vbar, 'set')
 		self.vbar['command'] = (self, 'yview')
