diff --git a/js/PublisherPublicKeyDigest.js b/js/PublisherPublicKeyDigest.js
index adbc25c..5b0ac7f 100644
--- a/js/PublisherPublicKeyDigest.js
+++ b/js/PublisherPublicKeyDigest.js
@@ -4,20 +4,16 @@
  */
 var PublisherPublicKeyDigest = function PublisherPublicKeyDigest(_pkd){ 
 	
-	
- 	 this.PUBLISHER_ID_LEN = 256/8;
+ 	 //this.PUBLISHER_ID_LEN = 256/8;
+	 this.PUBLISHER_ID_LEN = 512/8;
  	 
+
 	 this.PublisherPublicKeyDigest = _pkd;
  	 //if( typeof _pkd == "object") this.PublisherPublicKeyDigest = _pkd; // Byte Array
  	 //else if( typeof _pkd == "PublicKey") ;//TODO...
     
- 	 
-
 };
 
-
-
-
 PublisherPublicKeyDigest.prototype.decode = function( decoder) {		
 
 		this.PublisherPublicKeyDigest = decoder.readBinaryElement(this.getElementLabel());
@@ -41,9 +37,9 @@
 
 PublisherPublicKeyDigest.prototype.encode= function( encoder) {
 		//TODO Check that the ByteArray for the key is present
-		/*if (!this.validate()) {
+		if (!this.validate()) {
 			throw new Exception("Cannot encode : field values missing.");
-		}*/
+		}
 		if(LOG>3) console.log('PUBLISHER KEY DIGEST IS'+this.PublisherPublicKeyDigest);
 		encoder.writeElement(this.getElementLabel(), this.PublisherPublicKeyDigest);
 };
@@ -51,5 +47,5 @@
 PublisherPublicKeyDigest.prototype.getElementLabel = function() { return CCNProtocolDTags.PublisherPublicKeyDigest; };
 
 PublisherPublicKeyDigest.prototype.validate =function() {
-		return (null != this.PublisherKeyDigest);
+		return (null != this.PublisherPublicKeyDigest);
 };
