diff --git a/Geo/GModelIO_UNV.cpp b/Geo/GModelIO_UNV.cpp
index 2bb70db709f5e1106a4e06eb7a1ee9b90d328466..19e649aa9fa6689bb549746102274ab36de967a8 100644
--- a/Geo/GModelIO_UNV.cpp
+++ b/Geo/GModelIO_UNV.cpp
@@ -38,6 +38,7 @@ int GModel::readUNV(const std::string &name)
       int record = 0;
       sscanf(buffer, "%d", &record);
       if(record == 2411){ // nodes
+        Msg::Info("Reading nodes");
         while(fgets(buffer, sizeof(buffer), fp)){
           if(!strncmp(buffer, "    -1", 6)) break;
           int num, dum;
@@ -51,6 +52,8 @@ int GModel::readUNV(const std::string &name)
         }
       }
       else if(record == 2412){ // elements
+        Msg::Info("Reading elements");
+        std::map<int, int> warn;
         while(fgets(buffer, sizeof(buffer), fp)){
           if(strlen(buffer) < 3) continue; // possible line ending after last fscanf
           if(!strncmp(buffer, "    -1", 6)) break;
@@ -154,6 +157,10 @@ int GModel::readUNV(const std::string &name)
                             vertices[10], vertices[14], vertices[12], num));
             dim = 3;
             break;
+          default:
+            if(warn[type]++ == 1)
+              Msg::Warning("Skipping unknown type of element %d", type);
+            break;
           }
 
           if(dim >= 0 && physical && (!physicals[dim].count(elementary) ||