diff --git a/Mac/Demo/waste/htmled.py b/Mac/Demo/waste/htmled.py
index 5750f9d..5aa0207 100644
--- a/Mac/Demo/waste/htmled.py
+++ b/Mac/Demo/waste/htmled.py
@@ -790,15 +790,15 @@
 class MyHTMLParser(htmllib.HTMLParser):
 	
     def anchor_bgn(self, href, name, type):
-		self.anchor = href
-		if self.anchor:
-			self.anchorlist.append(href)
-			self.formatter.push_style('anchor')
+	    self.anchor = href
+	    if self.anchor:
+		    self.anchorlist.append(href)
+		    self.formatter.push_style('anchor')
 
     def anchor_end(self):
-		if self.anchor:
-			self.anchor = None
-			self.formatter.pop_style()
+	    if self.anchor:
+		    self.anchor = None
+		    self.formatter.pop_style()
 
 			
 def getfontnames():
diff --git a/Mac/Lib/lib-toolbox/aetypes.py b/Mac/Lib/lib-toolbox/aetypes.py
index 4bdc93c..a4840c5 100644
--- a/Mac/Lib/lib-toolbox/aetypes.py
+++ b/Mac/Lib/lib-toolbox/aetypes.py
@@ -530,7 +530,7 @@
 		if self._elemdict.has_key(name):
 			cls = self._elemdict[name]
 			return DelayedComponentItem(cls, self)
-	   	if self._propdict.has_key(name):
+		if self._propdict.has_key(name):
 	   		cls = self._propdict[name]
 	   		return cls(self)
 		raise AttributeError, name
diff --git a/Mac/Lib/macostools.py b/Mac/Lib/macostools.py
index 374d3f1..c6035b4 100644
--- a/Mac/Lib/macostools.py
+++ b/Mac/Lib/macostools.py
@@ -30,12 +30,12 @@
 	"""Create a finder alias"""
 	srcfss = macfs.FSSpec(src)
 	dstfss = macfs.FSSpec(dst)
-        if relative:
-                relativefss = macfs.FSSpec(relative)
-                # ik mag er geen None in stoppen :-(
-                alias = srcfss.NewAlias(relativefss)
-        else:
-                alias = srcfss.NewAlias()
+	if relative:
+		relativefss = macfs.FSSpec(relative)
+		# ik mag er geen None in stoppen :-(
+		alias = srcfss.NewAlias(relativefss)
+	else:
+		alias = srcfss.NewAlias()
 	srcfinfo = srcfss.GetFInfo()
 
 	Res.FSpCreateResFile(dstfss, srcfinfo.Creator, srcfinfo.Type, -1)
