diff --git a/lib/index.js b/lib/index.js
index <HASH>..<HASH> 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -61,9 +61,13 @@ function parseTypeArray (type) {
 
 function parseNumber (arg) {
   var type = typeof arg
-  if (type === 'string' && utils.isHexPrefixed(arg)) {
-    return new BN(utils.stripHexPrefix(arg), 16)
-  } else if (type === 'number') {
+  if (type === 'string') {
+    if (utils.isHexPrefixed(arg)) {
+      return new BN(utils.stripHexPrefix(arg), 16)
+    } else {
+      return new BN(arg, 10)
+    }
+  } else if (type === 'number' || type === 'string') {
     return new BN(arg)
   } else if (arg.toArray) {
     // assume this is a BN for the moment, replace with BN.isBN soon
Fix number parsing in base-<I> strings