Index: /CKPackager/trunk/_source/includes/scriptcompressor.js
===================================================================
--- /CKPackager/trunk/_source/includes/scriptcompressor.js	(revision 3500)
+++ /CKPackager/trunk/_source/includes/scriptcompressor.js	(revision 3501)
@@ -882,5 +882,5 @@
 					var id = String( ids[ counter++ ] );
 
-					if ( isReserved( id ) || !/^(?:(?:[a-zA-Z$_][\w$_]*)|(?:\d+))$/.test( id ) )
+					if ( isReserved( id ) || !/^(?:(?:[a-zA-Z$_][\w$_]*)|(?:0|[1-9]\d*))$/.test( id ) )
 						outString( id );
 					else
Index: /CKPackager/trunk/test/test.js
===================================================================
--- /CKPackager/trunk/test/test.js	(revision 3500)
+++ /CKPackager/trunk/test/test.js	(revision 3501)
@@ -268,4 +268,15 @@
 		[	"if(a){if(B)doB();}else if(c)doC();" ],
 
+		[	"var a={'0':'0'};",
+			"var a={0:'0'};" ],
+
+		[	"var a={'1':'1'};",
+			"var a={1:'1'};" ],
+
+		[	"var a={'0123':'0123'};",
+			"var a={'0123':'0123'};" ],
+
+		[	"var a={'123':'123'};",
+			"var a={123:'123'};" ]
 	];
 
@@ -293,8 +304,11 @@
 	function createAutoTest( counter, source, expected )
 	{
-		tests[ 'autoTest' + ( counter + 1000 ).toString().substr( 1 ) ] = function()
+		var test = tests[ 'autoTest' + ( counter + 1000 ).toString().substr( 1 ) ] = function()
 		{
 			assertEquals( expected || source, CKPACKAGER.scriptCompressor.compress( source, true, null, true ) );
 		};
+
+		test.source = source;
+		test.expected = expected || source;
 	}
 
@@ -313,10 +327,10 @@
 		{
 			tests[ test ]();
-			print( 'PASSED: ' + test );
+			print( 'PASSED: (' + test + ') ' + tests[ test ].expected );
 			passCount++;
 		}
 		catch ( error )
 		{
-			print( 'FAILED: ' + test );
+			print( 'FAILED: (' + test + ')' );
 
 			if ( !error.expected )
