diff --git a/django/views/generic/edit.py b/django/views/generic/edit.py
index 3cade52..f97027b 100644
--- a/django/views/generic/edit.py
+++ b/django/views/generic/edit.py
@@ -19,7 +19,7 @@ class FormMixin(object):
         """
         Returns the initial data to use for forms on this view.
         """
-        return self.initial
+        return dict(self.initial)
 
     def get_form_class(self):
         """
diff --git a/tests/regressiontests/generic_views/edit.py b/tests/regressiontests/generic_views/edit.py
index 182615a..d70c786 100644
--- a/tests/regressiontests/generic_views/edit.py
+++ b/tests/regressiontests/generic_views/edit.py
@@ -5,11 +5,21 @@ from django.core.urlresolvers import reverse
 from django import forms
 from django.test import TestCase
 from django.utils.unittest import expectedFailure
+from django.views.generic.edit import FormMixin
 
 from . import views
 from .models import Artist, Author
 
 
+class FormMixinTests(TestCase):
+    def test_initial_data(self):
+        """ Test instance independence of initial data dict (see #17759) """
+        form_1 = FormMixin()
+        form_2 = FormMixin()
+        initial_1 = form_1.get_initial()
+        initial_1['a'] = 'abc'
+        self.assertEqual(form_2.get_initial(), {})
+
 class ModelFormMixinTests(TestCase):
     def test_get_form(self):
         form_class = views.AuthorGetQuerySetFormView().get_form_class()
diff --git a/tests/regressiontests/generic_views/tests.py b/tests/regressiontests/generic_views/tests.py
index d387216..72aab03 100644
--- a/tests/regressiontests/generic_views/tests.py
+++ b/tests/regressiontests/generic_views/tests.py
@@ -5,6 +5,6 @@ from .dates import (ArchiveIndexViewTests, YearArchiveViewTests,
     MonthArchiveViewTests, WeekArchiveViewTests, DayArchiveViewTests,
     DateDetailViewTests)
 from .detail import DetailViewTest
-from .edit import (ModelFormMixinTests, CreateViewTests, UpdateViewTests,
-    DeleteViewTests)
+from .edit import (FormMixinTests, ModelFormMixinTests, CreateViewTests,
+    UpdateViewTests, DeleteViewTests)
 from .list import ListViewTests
