Index: include/mesh/exodusII_io_helper.h
===================================================================
--- include/mesh/exodusII_io_helper.h	(revision 4855)
+++ include/mesh/exodusII_io_helper.h	(working copy)
@@ -817,6 +817,41 @@
   ElementMaps() {}
 
   /**
+   * 1D node maps.  These define
+   * mappings from ExodusII-formatted
+   * element numberings.
+   */
+
+  /**
+   * The Edge2 node map.
+   * Use this map for linear elements in 1D.
+   */
+  static const int edge2_node_map[2];
+
+  /**
+   * The Edge3 node map.
+   * Use this map for quadratic elements in 1D.
+   */
+  static const int edge3_node_map[3];
+
+  /**
+   * 1D edge maps
+   */
+  // FIXME: This notion may or may not be defined in ExodusII
+
+  /**
+   * Maps the Exodus edge numbering for line elements.
+   * Useful for reading sideset information.
+   */
+  static const int edge_edge_map[2];
+
+  /**
+   * Maps the Exodus edge numbering for line elements.
+   * Useful for writing sideset information.
+   */
+  static const int edge_inverse_edge_map[2];
+
+  /**
    * 2D node maps.  These define
    * mappings from ExodusII-formatted
    * element numberings.
Index: src/mesh/exodusII_io_helper.C
===================================================================
--- src/mesh/exodusII_io_helper.C	(revision 4855)
+++ src/mesh/exodusII_io_helper.C	(working copy)
@@ -49,6 +49,15 @@
 // ------------------------------------------------------------
 // ExodusII_IO_Helper::ElementMaps static data
 
+// 1D node map definitions
+const int ExodusII_IO_Helper::ElementMaps::edge2_node_map[2] = {0, 1};
+const int ExodusII_IO_Helper::ElementMaps::edge3_node_map[3] = {0, 1, 2};
+
+// 1D edge maps
+// FIXME: This notion may or may not be defined in ExodusII
+const int ExodusII_IO_Helper::ElementMaps::edge_edge_map[2] = {0, 1};
+const int ExodusII_IO_Helper::ElementMaps::edge_inverse_edge_map[2] = {1, 2};
+
 // 2D node map definitions
 const int ExodusII_IO_Helper::ElementMaps::quad4_node_map[4] = {0, 1, 2, 3};
 const int ExodusII_IO_Helper::ElementMaps::quad8_node_map[8] = {0, 1, 2, 3, 4, 5, 6, 7};
@@ -1393,6 +1402,12 @@
   // TRISHELL    =  11
   // PYRAMID     =  12
 
+  if (type_str == "EDGE2" || type_str == "TRUSS" || type_str == "BEAM" )
+    return assign_conversion(EDGE2);
+
+  else if (type_str == "EDGE3" || type_str == "TRUSS" || type_str == "BEAM" )
+    return assign_conversion(EDGE3);
+
   if ((type_str == "QUAD4") || (type_str == "QUAD") || (type_str == "quad") || (type_str == "quad4"))
     return assign_conversion(QUAD4);
 
@@ -1463,7 +1478,32 @@
 {
   switch (type)
     {
-
+    case EDGE2:
+      {
+	const Conversion conv(edge2_node_map, 
+			      ARRAY_LENGTH(edge2_node_map),
+			      edge2_node_map, // inverse node map same as forward node map
+			      ARRAY_LENGTH(edge2_node_map),
+			      edge_edge_map, 
+			      ARRAY_LENGTH(edge_edge_map),
+			      edge_inverse_edge_map, 
+			      ARRAY_LENGTH(edge_inverse_edge_map),
+			      EDGE2, "EDGE2");
+	return conv;
+      }
+    case EDGE3:
+      {
+	const Conversion conv(edge3_node_map, 
+			      ARRAY_LENGTH(edge3_node_map),
+			      edge3_node_map, // inverse node map same as forward node map
+			      ARRAY_LENGTH(edge3_node_map),
+			      edge_edge_map, 
+			      ARRAY_LENGTH(edge_edge_map),
+			      edge_inverse_edge_map, 
+			      ARRAY_LENGTH(edge_inverse_edge_map),
+			      EDGE3, "EDGE3");
+	return conv;
+      }
     case QUAD4:
       {
 	const Conversion conv(quad4_node_map,
Index: src/mesh/exodusII_io.C
===================================================================
--- src/mesh/exodusII_io.C	(revision 4855)
+++ src/mesh/exodusII_io.C	(working copy)
@@ -107,6 +107,15 @@
   // Get a reference to the mesh we are reading
   MeshBase& mesh = MeshInput<MeshBase>::mesh();
   
+  // Currently cannot read meshes in 1-D.
+  if( mesh.mesh_dimension() == 1 )
+    {
+      libMesh::err << "Error: ExodusII API cannot handle side sets in 1-D and \n"
+		   << "libMesh cannot currently read ExodusII format in 1-D."
+		   << std::endl;
+      libmesh_error();
+    }
+  
   // Clear any existing mesh data
   mesh.clear();
   
