Exception is raised when adding the same data again
**DVC version:** 0.24.3

**Steps to reproduce:**

```
echo 'test' > foo
dvc add foo
dvc add foo
```

**Output:**
```Debug: UPDATE state_info SET count = 13 WHERE rowid = 1
Error: unexpected error - 'NoneType' object has no attribute 'dump'
------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ivan/Projects/cookiecutter-data-science/dvc/.venv/lib/python2.7/site-packages/dvc/main.py", line 30, in main
    ret = cmd.run_cmd()
  File "/Users/ivan/Projects/cookiecutter-data-science/dvc/.venv/lib/python2.7/site-packages/dvc/command/base.py", line 50, in run_cmd
    return self.run()
  File "/Users/ivan/Projects/cookiecutter-data-science/dvc/.venv/lib/python2.7/site-packages/dvc/command/add.py", line 10, in run
    self.project.add(target, recursive=self.args.recursive)
  File "/Users/ivan/Projects/cookiecutter-data-science/dvc/.venv/lib/python2.7/site-packages/dvc/project.py", line 226, in add
    stage.dump()
AttributeError: 'NoneType' object has no attribute 'dump'
------------------------------------------------------------

Having any troubles? Hit us up at https://dvc.org/support, we are always happy to help!
```

diff --git a/dvc/project.py b/dvc/project.py
index 57b586c9f..e198d3499 100644
--- a/dvc/project.py
+++ b/dvc/project.py
@@ -229,7 +229,8 @@ class Project(object):
         self._check_dag(self.stages() + stages)
 
         for stage in stages:
-            stage.dump()
+            if stage is not None:
+                stage.dump()
 
         self._remind_to_git_add()
 
diff --git a/tests/test_add.py b/tests/test_add.py
index 7ccc109a7..085c752c8 100644
--- a/tests/test_add.py
+++ b/tests/test_add.py
@@ -188,3 +188,19 @@ class TestCmdAdd(TestDvc):
 
         ret = main(["add", "non-existing-file"])
         self.assertNotEqual(ret, 0)
+
+
+class TestDoubleAddUnchanged(TestDvc):
+    def test_file(self):
+        ret = main(["add", self.FOO])
+        self.assertEqual(ret, 0)
+
+        ret = main(["add", self.FOO])
+        self.assertEqual(ret, 0)
+
+    def test_dir(self):
+        ret = main(["add", self.DATA_DIR])
+        self.assertEqual(ret, 0)
+
+        ret = main(["add", self.DATA_DIR])
+        self.assertEqual(ret, 0)
['dvc/project.py', 'tests/test_add.py']