diff --git a/src/SparseTransform/Convert/MatrixMarketReader.cs b/src/SparseTransform/Convert/MatrixMarketReader.cs
index 8d3c7f77a7da827aa9345fb8c19713bea385038a..27a114d81ea5966f20dd205e24fa4e41488968d5 100644
--- a/src/SparseTransform/Convert/MatrixMarketReader.cs
+++ b/src/SparseTransform/Convert/MatrixMarketReader.cs
@@ -126,8 +126,8 @@ namespace SparseTransform.Convert
             string[] values;
             int lineCount = getFirstDataLine(matrix);
             matrix[lineCount] = "% " + matrix[lineCount];
-            // try
-            // {
+            try
+            {
                 foreach (String line in matrix)
                 {
                     if (line != "")
@@ -142,19 +142,15 @@ namespace SparseTransform.Convert
                             }
                             int xCoordinate = Int32.Parse(values[0]);
                             int yCoordinate = Int32.Parse(values[1]);
-                            // if (xCoordinate != yCoordinate)
-                            // {
-                                processor(xCoordinate, yCoordinate, Double.Parse(values[2]));
-                                // graph.AddEdge(xCoordinate, yCoordinate);
-                            // }
+                            processor(xCoordinate, yCoordinate, Double.Parse(values[2]));
                         }
                     }
                 }
-            // }
-            // catch (Exception e)
-            // {
-            //     throw e;
-            // }
+            }
+            catch (Exception e)
+            {
+                throw e;
+            }
         }
 
 
diff --git a/src/SparseTransform/DataStructures/AdjacencyGraph.cs b/src/SparseTransform/DataStructures/AdjacencyGraph.cs
index 70b9d2acc8119db2a7ed8b95373b0c8b08d3d3d0..f1d593e161034031d932b06a5aa4362fd2771761 100644
--- a/src/SparseTransform/DataStructures/AdjacencyGraph.cs
+++ b/src/SparseTransform/DataStructures/AdjacencyGraph.cs
@@ -68,15 +68,18 @@ namespace DataStructures
 
         public void AddEdge(int i, int j)
         {
-            GraphNode iNode = AddNode(i);
-            GraphNode jNode = AddNode(j);
-            iNode.AddEdge(jNode);
-            jNode.AddEdge(iNode);
-            // Update degree
-            if (iNode.Degree > MaxDegree)
-                _maxDegree = iNode.Degree;
-            if (jNode.Degree > MaxDegree)
-                _maxDegree = jNode.Degree;
+            if(i != j)
+            {
+                GraphNode iNode = AddNode(i);
+                GraphNode jNode = AddNode(j);
+                iNode.AddEdge(jNode);
+                jNode.AddEdge(iNode);
+                // Update degree
+                if (iNode.Degree > MaxDegree)
+                    _maxDegree = iNode.Degree;
+                if (jNode.Degree > MaxDegree)
+                    _maxDegree = jNode.Degree;
+            }
         }
 
         /// <summary>