diff --git a/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveOutputStream.java b/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveOutputStream.java
index fd3052f..b8905a2 100644
--- a/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveOutputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveOutputStream.java
@@ -188,16 +188,16 @@
     private void writeEntryHeader(final ArArchiveEntry entry) throws IOException {
         long offset = 0;
         boolean appendName = false;
-        final String n = entry.getName();
-        final int nLength = n.length();
+        final String eName = entry.getName();
+        final int nLength = eName.length();
         if (LONGFILE_ERROR == longFileMode && nLength > 16) {
-            throw new IOException("File name too long, > 16 chars: " + n);
+            throw new IOException("File name too long, > 16 chars: " + eName);
         }
-        if (LONGFILE_BSD == longFileMode && (nLength > 16 || n.contains(" "))) {
+        if (LONGFILE_BSD == longFileMode && (nLength > 16 || eName.contains(" "))) {
             appendName = true;
             offset += write(ArArchiveInputStream.BSD_LONGNAME_PREFIX + nLength);
         } else {
-            offset += write(n);
+            offset += write(eName);
         }
         // Last modified
         offset = fill(offset, 16, SPACE);
@@ -218,8 +218,8 @@
         offset = fill(offset, 58, SPACE);
         offset += write(ArArchiveEntry.TRAILER);
         if (appendName) {
-            offset += write(n);
+            offset += write(eName);
         }
-
     }
+
 }
