diff --git a/Lib/posixpath.py b/Lib/posixpath.py
index 5b2513a..d65dc75 100644
--- a/Lib/posixpath.py
+++ b/Lib/posixpath.py
@@ -382,9 +382,11 @@
         if name == pardir:
             # parent dir
             if path:
-                path = dirname(path)
+                path, name = split(path)
+                if name == pardir:
+                    path = join(path, pardir, pardir)
             else:
-                path = name
+                path = pardir
             continue
         newpath = join(path, name)
         if not islink(newpath):
diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py
index 23def06..7443e30 100644
--- a/Lib/test/test_posixpath.py
+++ b/Lib/test/test_posixpath.py
@@ -214,6 +214,16 @@
         self.assertEqual(posixpath.normpath("///foo/.//bar//.//..//.//baz"), "/foo/baz")
         self.assertEqual(posixpath.normpath("///..//./foo/.//bar"), "/foo/bar")
 
+    def test_realpath_curdir(self):
+        self.assertEqual(realpath('.'), os.getcwd())
+        self.assertEqual(realpath('./.'), os.getcwd())
+        self.assertEqual(realpath('/'.join(['.'] * 100)), os.getcwd())
+
+    def test_realpath_pardir(self):
+        self.assertEqual(realpath('..'), dirname(os.getcwd()))
+        self.assertEqual(realpath('../..'), dirname(dirname(os.getcwd())))
+        self.assertEqual(realpath('/'.join(['..'] * 100)), '/')
+
     if hasattr(os, "symlink"):
         def test_realpath_basic(self):
             # Basic operation.
