diff --git a/lib/secrets.js b/lib/secrets.js
index b2ad66e942cb54acdb38ed9caa014e8a44d7e8b7..41b8d49526a78638ed154081eee91ffff564f125 100644
--- a/lib/secrets.js
+++ b/lib/secrets.js
@@ -40,12 +40,11 @@ jwk = require('jwcrypto/jwk'),
 jwt = require('jwcrypto/jwt'),
 Buffer = require('buffer').Buffer;
 
+var devRandom = fs.openSync('/dev/urandom', 'r');
 
 function randomBytes(length) {
   var buf = new Buffer(length);
-  var fd = fs.openSync('/dev/urandom', 'r');
-  fs.readSync(fd, buf, 0, buf.length, 0);
-  fs.closeSync(fd);
+  fs.readSync(devRandom, buf, 0, buf.length, 0);
   return buf;
 }