diff --git a/lib/utils/__init__.py b/lib/utils/__init__.py
index d808ce44dabc1404bc7fdd6ea64ad0d47ab3a043..41360be3d3f0265434ae55cf13e7f31a872dd065 100644
--- a/lib/utils/__init__.py
+++ b/lib/utils/__init__.py
@@ -66,8 +66,6 @@ from ganeti.utils.nodesetup import * # pylint: disable-msg=W0401
 from ganeti.utils.process import * # pylint: disable-msg=W0401
 
 
-_RANDOM_UUID_FILE = "/proc/sys/kernel/random/uuid"
-
 _VALID_SERVICE_NAME_RE = re.compile("^[-_.a-zA-Z0-9]{1,128}$")
 
 UUID_RE = re.compile('^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-'
@@ -289,17 +287,6 @@ def GetHomeDir(user, default=None):
   return result.pw_dir
 
 
-def NewUUID():
-  """Returns a random UUID.
-
-  @note: This is a Linux-specific method as it uses the /proc
-      filesystem.
-  @rtype: str
-
-  """
-  return ReadFile(_RANDOM_UUID_FILE, size=128).rstrip("\n")
-
-
 def FirstFree(seq, base=0):
   """Returns the first non-existing integer from seq.
 
diff --git a/lib/utils/io.py b/lib/utils/io.py
index 1e99d8ab65cb62046d95e67905ca7ca81fa600c8..e6f98735e2a8bc2b63845b2b01bf80cc02aa242d 100644
--- a/lib/utils/io.py
+++ b/lib/utils/io.py
@@ -34,6 +34,10 @@ from ganeti import constants
 from ganeti.utils import filelock
 
 
+#: Path generating random UUID
+_RANDOM_UUID_FILE = "/proc/sys/kernel/random/uuid"
+
+
 def ReadFile(file_name, size=-1):
   """Reads a file.
 
@@ -760,3 +764,14 @@ def ReadWatcherPauseFile(filename, now=None, remove_after=3600):
         value = None
 
   return value
+
+
+def NewUUID():
+  """Returns a random UUID.
+
+  @note: This is a Linux-specific method as it uses the /proc
+      filesystem.
+  @rtype: str
+
+  """
+  return ReadFile(_RANDOM_UUID_FILE, size=128).rstrip("\n")
diff --git a/test/ganeti.utils.io_unittest.py b/test/ganeti.utils.io_unittest.py
index 41abdd6576f242aa548e4f62a961ddc01546a6c9..43b4634b4dee3a67ef05047069b42fc26d525f69 100755
--- a/test/ganeti.utils.io_unittest.py
+++ b/test/ganeti.utils.io_unittest.py
@@ -691,5 +691,12 @@ class TestSshKeys(testutils.GanetiTestCase):
       " ssh-dss AAAAB3NzaC1w520smc01ms0jfJs22 root@key-b\n")
 
 
+class TestNewUUID(unittest.TestCase):
+  """Test case for NewUUID"""
+
+  def runTest(self):
+    self.failUnless(utils.UUID_RE.match(utils.NewUUID()))
+
+
 if __name__ == "__main__":
   testutils.GanetiTestProgram()
diff --git a/test/ganeti.utils_unittest.py b/test/ganeti.utils_unittest.py
index 84c96c764d0abc5aa3fc0e4d73a87ec8c3eca720..e557b2be1eb069f6d6caf0ff0f3a9bf0ace03b3e 100755
--- a/test/ganeti.utils_unittest.py
+++ b/test/ganeti.utils_unittest.py
@@ -81,12 +81,6 @@ class TestGetMounts(unittest.TestCase):
         ("none", "/proc", "proc", "rw,nosuid,nodev,noexec,relatime"),
       ])
 
-class TestNewUUID(unittest.TestCase):
-  """Test case for NewUUID"""
-
-  def runTest(self):
-    self.failUnless(utils.UUID_RE.match(utils.NewUUID()))
-
 
 class TestFirstFree(unittest.TestCase):
   """Test case for the FirstFree function"""