diff --git a/Lib/ipaddress.py b/Lib/ipaddress.py
index 1d72bbc..cb35685 100644
--- a/Lib/ipaddress.py
+++ b/Lib/ipaddress.py
@@ -710,12 +710,6 @@
         return x
 
     @property
-    def network(self):
-        # XXX (ncoghlan): This is redundant now and will likely be removed
-        return self.__class__('%s/%d' % (str(self.network_address),
-                                         self.prefixlen))
-
-    @property
     def with_prefixlen(self):
         return '%s/%d' % (str(self.ip), self._prefixlen)
 
@@ -942,12 +936,6 @@
 
             yield current
 
-    def masked(self):
-        """Return the network object with the host bits masked out."""
-        # XXX (ncoghlan): This is redundant now and will likely be removed
-        return self.__class__('%s/%d' % (self.network_address,
-                                         self._prefixlen))
-
     def supernet(self, prefixlen_diff=1, new_prefix=None):
         """The supernet containing the current network.
 
@@ -1908,7 +1896,7 @@
 
         """
         if isinstance(self, IPv6Network):
-            return int(self.network) == 1 and getattr(
+            return int(self) == 1 and getattr(
                 self, '_prefixlen', 128) == 128
         elif isinstance(self, IPv6Interface):
             return int(self.network.network_address) == 1 and getattr(
diff --git a/Lib/test/test_ipaddress.py b/Lib/test/test_ipaddress.py
index 5c89681..fd6c38c 100644
--- a/Lib/test/test_ipaddress.py
+++ b/Lib/test/test_ipaddress.py
@@ -390,7 +390,7 @@
         self.assertRaises(ValueError, list,
                           self.ipv4_interface.network.subnets(-1))
         self.assertRaises(ValueError, list,
-                          self.ipv4_network.network.subnets(-1))
+                          self.ipv4_network.subnets(-1))
         self.assertRaises(ValueError, list,
                           self.ipv6_interface.network.subnets(-1))
         self.assertRaises(ValueError, list,
