--- wikiaction_old.py	2006-11-20 18:56:58.000000000 +0100
+++ wikiaction.py	2006-11-20 21:59:04.000000000 +0100
@@ -522,10 +522,25 @@
 def do_edit(pagename, request):
     _ = request.getText
 
-    if not request.user.may.write(pagename):
-        Page(request, pagename).send_page(request,
+      
+    # Check if pagename is an existing page
+    if Page(request, pagename).exists() == True:
+        # User allowed to edit? If not, return with error msg
+        if not request.user.may.write(pagename):
+            Page(request, pagename).send_page(request,
             msg = _('You are not allowed to edit this page.'))
-        return
+            return
+        
+    # Page does not exist? Check if pagename does still exist on disc.
+    # If it does, kill it so as to have no acl conflicts when recreating it.
+    elif Page(request, pagename).exists(True) == True:
+        checklist = [0, 1]
+        for use_underlay in checklist:
+            pagedir = Page(request, pagename).getPagePath(use_underlay=use_underlay, check_create=0)
+            if os.path.exists(pagedir):
+                import distutils.dir_util
+                distutils.dir_util.remove_tree(pagedir)
+           
 
     valideditors = ['text', 'gui',]
     editor = ''
