Only produce a dotted module name when writing output to a separate
directory.
diff --git a/Lib/trace.py b/Lib/trace.py
index 0a063c7..cda7258 100644
--- a/Lib/trace.py
+++ b/Lib/trace.py
@@ -163,7 +163,7 @@
     return filename
 
 def fullmodname(path):
-    """Return a plausible module name for the patch."""
+    """Return a plausible module name for the path."""
 
     # If the file 'path' is part of a package, then the filename isn't
     # enough to uniquely identify it.  Try to do the right thing by
@@ -244,17 +244,18 @@
             # skip some "files" we don't care about...
             if filename == "<string>":
                 continue
-            modulename = fullmodname(filename)
 
             if filename.endswith(".pyc") or filename.endswith(".pyo"):
                 filename = filename[:-1]
 
             if coverdir is None:
                 dir = os.path.dirname(os.path.abspath(filename))
+                modulename = modname(filename)
             else:
                 dir = coverdir
                 if not os.path.exists(dir):
                     os.makedirs(dir)
+                modulename = fullmodname(filename)
 
             # If desired, get a list of the line numbers which represent
             # executable content (returned as a dict for better lookup speed)