diff --git a/libsrc4/nc4internal.c b/libsrc4/nc4internal.c
index fe6e2f6a9..89526d840 100644
--- a/libsrc4/nc4internal.c
+++ b/libsrc4/nc4internal.c
@@ -102,6 +102,12 @@ nc4_check_name(const char *name, char *norm_name)
    retval = nc_utf8_normalize((const unsigned char *)name,(unsigned char**)&temp);
    if(retval != NC_NOERR)
       return retval;
+
+   if(strlen(temp) > NC_MAX_NAME) {
+     free(temp);
+     return NC_EMAXNAME;
+   }
+
    strcpy(norm_name, temp);
    free(temp);
 
@@ -1603,4 +1609,3 @@ NC4_show_metadata(int ncid)
 #endif /*LOGGING*/
    return retval;
 }
-