--- PerfectRaid.lua.orig	2006-09-21 11:55:34.498962200 -0400
+++ PerfectRaid.lua	2006-09-21 11:59:22.324287200 -0400
@@ -476,6 +476,7 @@
     
     local vert,horiz = "TOP", "LEFT"
     local point,rel = "TOPLEFT", "BOTTOMLEFT"
+    local voffset = -self.opt.Separator
     
     -- Which corner do we need to anchor to?
     if self.opt.AlignRight then
@@ -485,6 +486,7 @@
         vert = "BOTTOM"
         point = "BOTTOM"..horiz
         rel = "TOP"..horiz
+        voffset = -voffset
     end
     
     -- Anchor the FIRST frame to the corner
@@ -499,7 +501,11 @@
     for i=2,GetNumRaidMembers() do
         local f = frames[sort[i]]
         f:ClearAllPoints()
-        f:SetPoint(point, prev, rel, 0, 0)
+        if keys[f.unit] ~= keys[prev.unit] then
+            f:SetPoint(point, prev, rel, 0, voffset)
+        else
+            f:SetPoint(point, prev, rel, 0, 0)
+        end
         prev = f
     end
     
--- PerfectRaidOptions.lua.orig	2006-09-21 12:03:58.698938600 -0400
+++ PerfectRaidOptions.lua	2006-09-21 12:04:23.173887800 -0400
@@ -149,7 +149,7 @@
 function PerfectRaid:OptionSeparator(value)
     if not value then return self.opt.Separator end
     self.opt.Separator = value
-    -- PerfectRaid:UpdateLayout()
+    PerfectRaid:UpdateLayout()
 end
 
 function PerfectRaid:ToggleInverse(value)
